91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決多對多關系表無法更新與插入的問題

發布時間:2021-09-16 17:25:00 來源:億速云 閱讀:135 作者:柒染 欄目:開發技術

如何解決多對多關系表無法更新與插入的問題,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

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

數據結構

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("關于")]
public string About { get; set; }
[DisplayName("排序"), Required]
public int SortNumber { get; set; }
[DisplayName("最后操作人")]
public string Operator { get; set; }
[DisplayName("權限"), 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; }
}

關于AutoDetectChangesEnabled

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

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

問題解決

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);

在數據上下文中的設置

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

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海宁市| 平乡县| 紫阳县| 微山县| 霍城县| 台山市| 沽源县| 绥江县| 武安市| 潜山县| 莱阳市| 炉霍县| 尖扎县| 延津县| 湘阴县| 都匀市| 兴山县| 台前县| 景德镇市| 安乡县| 铅山县| 沭阳县| 交城县| 涞源县| 梧州市| 固始县| 托克托县| 大埔区| 汝阳县| 兴城市| 淳化县| 中牟县| 舟曲县| 盐津县| 广灵县| 岳阳县| 保山市| 图片| 本溪市| 高唐县| 达孜县|