我想爲我管理的數據庫創建一行。 我試圖建立一個代碼作爲例子來檢查,如果它的工作,但它不會更新數據庫:實體框架的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