Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 如何在实体框架中添加表关联?_Entity Framework_C# 4.0 - Fatal编程技术网

Entity framework 如何在实体框架中添加表关联?

Entity framework 如何在实体框架中添加表关联?,entity-framework,c#-4.0,Entity Framework,C# 4.0,我有一个名为User的表,一个名为Permission的表和一个关联表,所以很多用户都可以拥有很多权限 用户 ID-PK 权限 ID-PK 用户权限 UserID-PK(FK到用户) PermissionID-主键(FK到权限) 在实体框架中,如何向关联表添加条目以将用户链接到权限 我尝试了以下方法,但没有成功: var user = _Repository.Users.Single(u => u.ID == someUserID); var permission = _Repositor

我有一个名为User的表,一个名为Permission的表和一个关联表,所以很多用户都可以拥有很多权限

用户

ID-PK

权限

ID-PK

用户权限

UserID-PK(FK到用户)

PermissionID-主键(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();
有人能帮忙吗?

应该是:

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

希望这会有所帮助。

我认为这行不通,Entity Framework忽略了我的表关联,并将其视为导航。因此,我无法访问关联表这是因为关联表只有两个与其父表相关的字段,这就是为什么它没有显示在edmx文件中。但它仍然包含在designer.cs文件中。您肯定会在intellisense中找到UserPermissions。我已经在Entity Framework Designer.cs中搜索了该表,但没有用于关联的类table@AndyClark,什么是_Repository.Save()的定义;方法?将任何挂起的更改保存到数据库,这是使用存储库模式完成的