一個純粹的連接表我創建了一個純粹的連接表瞭如下因素兩個表:查詢實體框架代碼中創建首先
用戶:
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int UserID { get; set; }
public string UserName { get; set; }
public String FirstName { get; set; }
public String LastName { get; set; }
public virtual ICollection<CrRole> Roles { get; set; }
角色:
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int RoleID { get; set; }
public String RoleName { get; set; }
public virtual ICollection<CrUser> Users { get; set; }
Fluent API創建UserRole連接表:
modelBuilder.Entity<CrUser>()
.HasMany(c => c.Roles)
.WithMany(i => i.Users)
.Map(t => t.MapLeftKey("UserID")
.MapRightKey("RoleID")
.ToTable("CrUserRole"));
這工作正常,並創建具有UserID和RoleID列的正確的CrUserRole表。
我在試圖找出如何對這個連接表進行簡單查詢時遇到了很大困難。在SQL命令是:
SELECT COUNT(*)
FROM UserRole ur
WHERE ur.RoleID = @RoleID
AND ur.UserID = @UserID
我試圖通過任何角色或用戶實體的導航鏈接去,但似乎總是與意大利麪條代碼的負載,其拒絕編譯:-(落得
如果有人能指出我的方向是正確的,我會非常感激的,即使是一些教程也會有所幫助,但我發現這些教程似乎只是創建連接表而不包括CRUD操作。
謝謝!
沒問題。感謝您的反饋 :) – Kamyar