我想为我管理的数据库创建一行。 我试图建立一个代码作为例子来检查,如果它的工作,但它不会更新数据库:实体框架的DBContext不更新数据库
PolicyList = await LoadPolicy(); //Loads Policy List
tblPolicy tbl = new tblPolicy(); //Creates a new policy entity
tbl.polID = 5; //Sets ID to 5
tbl.polName = "Ryder"; //Sets name
mdbe.tblPolicies.Add(tbl); //Adds to the dbcontext object
mdbe.Entry(tbl).State = EntityState.Added; //Changes the state to "Added"
await mdbe.SaveChangesAsync(); //Saves changes
我是否使用异步方法或没有它不工作, EntityState.Added也一样。 如何保存更改?
private async Task<List<tblPolicy>> LoadPolicy()
{
return await Task.Run(() => mdbe.tblPolicies.ToList());
}
mdbe定义:
EntryDBEntities mdbe = new EntryDBEntities();
的POCO类entryDBentities的:
public partial class EntryDBEntities : DbContext
{
public EntryDBEntities()
: base("name=EntryDBEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<tblEntry> tblEntries { get; set; }
public virtual DbSet<tblEntryPolicy> tblEntryPolicies { get; set; }
public virtual DbSet<tblPolicy> tblPolicies { get; set; }
}
Mapping of the entity framework
完整的映射请发布完整的源代码。 –
哪个数据库没有更新?我的意思是你如何验证这个问题? – Mahdi
它会抛出异常吗? – AdrienTorris