Вставка записи в базу данных с использованием EF 5.0 не работает. Отладка через мой код я не могу найти никакого исключения. Просматривая код, он должен вставить новую запись в базу данных, но когда я смотрю на базу данных, новых записей не создается. Тем не менее, я вносил изменения в свою базу данных и в отладке, когда я проверяю «assestUser» (модель), я могу видеть все значения, включая удаленные столбцы (изменения, которые я сделал). Может кто-нибудь, пожалуйста, помогите мне в том, что я делаю неправильно? Это то, что я сделал:База данных, не создающая запись
Страница:
public partial class _Default : Page
{
EntityContext context;
public _Default()
{
context = new EntityContext();
}
protected void btnSavePersonalDetails_Click(object sender, EventArgs e)
{
try
{
SkillsAssestUser assestUser = new SkillsAssestUser();
assestUser.DomainAcc = lblDomAcc.Text;
assestUser.Name = txtName.Text;
assestUser.Surname = txtSurname.Text;
assestUser.Division = txtDivision.Text;
assestUser.Manager = txtManager.Text;
context.SkillsAssestUsers.Add(assestUser);
context.SaveChanges();
//var assestUser = context.Set<SkillsAssestUser>();
//assestUser.Add(new SkillsAssestUser
//{
// DomainAcc = lblDomAcc.Text,
// Name = txtName.Text,
// Surname = txtSurname.Text,
// Division = txtDivision.Text,
// Manager = txtManager.Text
//});
//context.SaveChanges();
ClearPersonalDetails();
}
catch (Exception ex)
{
throw new Exception("Error inserting Details. " + ex.Message);
}
}
DbContext:
public partial class EntityContext : DbContext
{
public EntityContext()
: base("name=SOSConnectionString")
{
base.Configuration.LazyLoadingEnabled = true;
base.Configuration.ProxyCreationEnabled = false;
}
#region AddTables
public DbSet<AdditionalSkills> AdditionalSkillss { get; set; }
public DbSet<CertifiedTraining> CertifiedTrainings { get; set; }
public DbSet<OtherCertifiedTraining> OtherCertifiedTrainings { get; set; }
public DbSet<OtherEdu> OtherEdus { get; set; }
public DbSet<SchoolEdu> SchoolEdus { get; set; }
public DbSet<SkillsAssestUser> SkillsAssestUsers { get; set; }
public DbSet<ValueAddedSkills> ValueAddedSkillss { get; set; }
#endregion
}
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
AuthConfig.RegisterOpenAuth();
Database.SetInitializer<EntityContext>(null);
}
Что я делаю неправильно? ... новинка для ef ....
ИМО, стоит спросить, вы скопировать файл базы данных в каталог вывода на каждой сборки или вы используете SQL Server? –
@Alex, Привет, нет Я не копирую файлы db в выходной каталог при каждой сборке ... Я использовал ef 4.1 в приложении Windows раньше, и это сработало там .... – Kerieks
Вы проверили типы значений, которые вы назначаете? – Guru