添加/删除许多在实体框架许多联想实体、框架

2023-09-04 23:58:58 作者:仰望星空〞寻找自己的星星

我在我的示例数据库三个表:

I have three tables in my sample database:

ID 用户名 密码 ID 名称 说明 用户名 RoleID

UserRoles是一个查找表来模拟一个多对多的关系。添加记录到该表允许一个记录用户和角色联系起来。我的问题是,在实体框架是正确的跨$ P $点这是一个多对多的关系和摘要走的查找表。由此产生的实体和关系是这样的:

UserRoles is a lookup table to simulate a many to many relationship. Adding records to this table allows one to associate records in Users and Roles. My problem is that in Entity Framework it correctly interprets this as a many to many relationship and abstracts away that lookup table. The resulting entities and relationship look like this:

这伟大工程的大部分时间,但我不知道做什么,当我想从查找表中添加/删除条目。我可以删除角色或用户,但实际删除的对象不只是与对方的联系。

This works great most of the time, but I'm not sure what to do when I want to add/delete entries from that lookup table. I can delete roles or users but that actually deletes the objects not just their association with each other.

我知道的一个选项,以一个虚拟列添加到UserRoles查找表。这将迫使实体框架打开查找表成一个成熟的实体,让我能够添加和删除它们作为唯一的目标。但我有没有必要为一个虚拟列,这似乎是一个黑客。我在寻找更好的建议。

I do know of one option to add a dummy column to the UserRoles lookup table. That will force Entity Framework to turn the lookup table into a full-blown entity, allowing me to add and remove them as lone objects. But I have no need for a dummy column and this seems like a hack. I am looking for better suggestions.

任何帮助是AP preciated。

Any help is appreciated.

推荐答案

这应该是这个样子:

user.Roles.Remove(existingRoleEntity);

要添加关系

user.Roles.Add(existingRoleEntity);