gpt4 book ai didi

vb.net - 如何为多对多关系插入实体? ( Entity Framework )

转载 作者:行者123 更新时间:2023-12-04 17:14:09 25 4
gpt4 key购买 nike

如果我在用户和角色之间存在多对多关系,并且我有一个用户实体的实例和几个角色 ID,我可以在没有任何其他角色数据的情况下插入两种类型的实体之间的关系,也无需在先说角色?

更新:

我可能说得不够清楚。我没有角色的实例,只有角色 ID。是否可以在不先从数据库中填充 Role 对象的情况下创建 User 和 Role 之间的关系?

最佳答案

是的,如果您有 ID 并且需要关联它们

你应该能够做到这一点(伪代码)

// how you get this doesn't matter so long as it is in the Context
User user = ...;
Role role = new Role {Id = 2};
// role 2 is in unchanged state
ctx.AttachTo("Roles", role);
// role 2 is unchanged + added relationship between user and role 2
user.Roles.Add(role);
ctx.SaveChanges();

这里的关键是 AttachTo将一个实体以未更改的状态放入 ObjectState 管理器中。只要你不需要修改那个实体,并且只用于建立关系,你甚至不需要知道所有的属性值,PK就足够了。

一旦你附上了它,你就可以建立关系。

希望这可以帮助

干杯
亚历克斯

关于vb.net - 如何为多对多关系插入实体? ( Entity Framework ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/936597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com