【发布时间】:2019-01-11 14:54:27
【问题描述】:
我真的不知道如何解决这个问题,我习惯用这种方式使用实体框架添加或删除对象。 我在调试模式下运行我的应用程序并遵循它。 调试器继续没有问题,然后我查看数据库以获取新记录,但什么也没有发生。
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>
当然我已经确保表自动增加其主键
【问题讨论】:
-
还有什么问题,你在sql server中刷新数据库了吗?
-
@MehrdadDowlatabadi 是的,我做了很多次
-
在 savechange 方法后添加这一行并在其后设置断点: var p1= context.Professions.Select(p=>p.ProfessionName ==ProfessionName);
-
@MehrdadDowlatabadi 我添加了 .FirstOrDefault() 它返回 FALSE;
-
如果您没有收到异常关闭 SSMS 并重新打开。可能不会刷新。如果您仍然没有获得数据,则连接字符串指向不同的数据库。 c# 中的连接字符串应与 SSMS 中的登录窗口匹配,包括服务器名称和数据库实例(服务器名称\实例)。
标签: c# sql-server entity-framework-5