2012-08-28 93 views
0

我有一個名爲User的表,一個名爲Permission的表和一個關聯表,所以許多用戶可以擁有許多權限。如何在實體框架中添加表關聯?

用戶

ID - PK

權限

ID - PK

UserPermission

用戶ID - PK(FK到用戶)

PermissionID - PK(FK到許可)

在實體框架如何添加一個條目關聯表的用戶鏈接到一個權限?

我都試過,沒有運氣以下:

var user = _Repository.Users.Single(u => u.ID == someUserID); 
var permission = _Repository.Permissions.Single(p => p.ID == somePermissionID); 

user.Permissions.Add(permission) //Not working 
user.Permission.Attach(permission) //Still not working 

_Repository.Save(); 

誰能幫助?

回答

0

它應該是:

UserPermission obj = new UserPermission { UserID = someUserID, PermissionID = somePermissionID }; 
_Repository.UserPermissions.AddObject(obj) 
_Repository.Save(); 

希望這會有所幫助。

+0

我不認爲這會起作用,Entity Framework會忽略我的表關聯並將其視爲導航。所以我沒有訪問關聯表 –

+0

這是因爲關聯表只有兩個與其父表相關的字段,這就是爲什麼它沒有顯示在你的edmx文件中。但它仍然在designer.cs文件中。你一定會在intellisense中找到** UserPermissions **。 –

+0

我已經在實體框架Designer.cs中搜索了表,並且沒有關聯表 –