Entity Framework 5 添加特定对象的新记录时失败
Entity Framework 5 failure while adding a new record of a specific object
我真的不知道怎么解决这个问题,我一直习惯用entity framework这样来添加或删除对象。
我 运行 我的应用程序处于调试模式并跟随它。
调试器继续运行,没有任何问题,然后我在数据库中查找新记录,但什么也没有发生。
private dbClinics _context;
public dbClinics context { get { return new dbClinics(); } set { _context = value; } }
#endregion
private void _AddProfession(string ProfessionName)
{
if (!context.Professions.Any(x => x.ProfessionName.ToLower().Equals(ProfessionName.ToLower())))
{
Profession profession = new Profession();
profession.ProfessionName = ProfessionName;
context.Professions.Add(profession);
context.SaveChanges();
}
}
这是连接字符串:
<add name="dbClinics" connectionString="metadata=res://*/ADO.dbClinics.csdl|res://*/ADO.dbClinics.ssdl|res://*/ADO.dbClinics.msl;provider=System.Data.SqlClient;provider connection string="data source=mld\markinstance;initial catalog=beta_clinics;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /></connectionStrings>
当然,我已经确保 table 自动递增其主键
注意您的上下文 属性 它会为每次调用重新创建 dbcontext,因此您添加实体的上下文与您调用保存更改的上下文不同
请管理 dbcontext 生命周期 - 最好使用 using 语句
private dbClinics _context;
public dbClinics context { get { return new dbClinics(); } set { _context = value; } }
#endregion
private void _AddProfession(string ProfessionName)
{
if (!context.Professions.Any(x => x.ProfessionName.ToLower().Equals(ProfessionName.ToLower())))
{
Profession profession = new Profession();
profession.ProfessionName = ProfessionName;
context.Professions.Add(profession);
context.SaveChanges();
}
}
这是连接字符串:
<add name="dbClinics" connectionString="metadata=res://*/ADO.dbClinics.csdl|res://*/ADO.dbClinics.ssdl|res://*/ADO.dbClinics.msl;provider=System.Data.SqlClient;provider connection string="data source=mld\markinstance;initial catalog=beta_clinics;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /></connectionStrings>
当然,我已经确保 table 自动递增其主键
注意您的上下文 属性 它会为每次调用重新创建 dbcontext,因此您添加实体的上下文与您调用保存更改的上下文不同 请管理 dbcontext 生命周期 - 最好使用 using 语句