亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

關(guān)于多對多關(guān)系表無法更新與插入的問題

 更新時間:2016年07月27日 10:49:18   作者:張占嶺  
這篇文章主要介紹了關(guān)于多對多關(guān)系表無法更新與插入的問題 的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

在EF里,我們設(shè)計模型時,會設(shè)計到多對多關(guān)系,在EF里會把這種關(guān)系會轉(zhuǎn)成兩個一對多的關(guān)系表,這是比較友好的,因為多對多來說,對于業(yè)務(wù)本身沒什么意思,所以隱藏了,沒什么壞處,但對于這個隱藏來說,對開發(fā)人員來講你就無法主動控制這張關(guān)系表了,而需要使用EF的update來更新主表的同時去更新關(guān)系表,這對于初學(xué)者會出現(xiàn)一些問題,今天說的就是多對多關(guān)系無法更新和插入的問題.

數(shù)據(jù)結(jié)構(gòu)

public partial class WebManageRoles : Lind.DDD.Domain.Entity
{
public WebManageRoles()
{
this.WebManageMenus = new List<WebManageMenus>();
this.WebManageUsers = new List<WebManageUsers>();
}
[DisplayName("名稱"), Required]
public string RoleName { get; set; }
[DisplayName("關(guān)于")]
public string About { get; set; }
[DisplayName("排序"), Required]
public int SortNumber { get; set; }
[DisplayName("最后操作人")]
public string Operator { get; set; }
[DisplayName("權(quán)限"), Required]
public int OperatorAuthority { get; set; }
[DisplayName("部門"), Required]
public int DepartmentID { get; set; }
public virtual WebDepartments WebDepartments { get; set; }
public virtual ICollection<WebManageMenus> WebManageMenus { get; set; }
public virtual ICollection<WebManageUsers> WebManageUsers { get; set; }
}

關(guān)于AutoDetectChangesEnabled

參考:https://msdn.microsoft.com/en-us/data/jj556205.aspx

大叔的解釋,當(dāng)AutoDetectChangesEnabled為true時,可以加載依賴的關(guān)系,在插入和更新時會有同步完成(多對多,一對多關(guān)系時使用),當(dāng)值為false時,只更新(插入)主表的數(shù)據(jù)

問題解決

old.WebManageMenus = menuRepository.GetModel(i => menu.Contains(i.Id)).ToList();
old.DepartmentID = dept;
old.RoleName = entity.RoleName;
old.SortNumber = entity.SortNumber;
old.About = entity.About;
old.DataUpdateDateTime = DateTime.Now;
roleRepository.Update(old);

在數(shù)據(jù)上下文中的設(shè)置

public ManagerContext()
: base("DefaultConnection")
{
this.Configuration.AutoDetectChangesEnabled = true;//對多對多,一對多進(jìn)行curd操作時需要為true
this.Configuration.LazyLoadingEnabled = false;
this.Configuration.ProxyCreationEnabled = false;//禁止動態(tài)攔截System.Data.Entity.DynamicProxies.
}

以上所述是小編給大家介紹的關(guān)于多對多關(guān)系表無法更新與插入的問題 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論