gpt4 book ai didi

entity-framework - Entity Framework - 添加以仅使用外键值连接

转载 作者:行者123 更新时间:2023-12-04 07:23:28 25 4
gpt4 key购买 nike

好的,我有 3 个表,称它们为:

  • 个人ID
  • 姓名

商店

  • 商店编号
  • 姓名

个人存储

  • 个人ID
  • 商店编号

现在,我有一个表单可以让您为某人添加商店。但是,我正在从表单中取回商店 ID。我真的不想查询以从 Entity Framework 中获取商店对象。我只想使用我拥有的 StoreID 和 Person 对象添加到表中。

最佳答案

默认情况下,在 EF 中,此连接表不会显示为实体,而是您将获得多对多关系,该关系将显示为两个导航属性

Person.Stores
Store.People

如果您想在不检索实体的情况下建立多对多关系,那么附加 stub 实体是最好的方法。

var person = // you already have the person
var store = new Store{StoreID = 5} // you know the storeID

ctx.AttachTo("Stores", store);
ctx.AttachTo("People", person); // assuming the person isn't already attached
person.Stores.Add(store);
ctx.SaveChanges();

此代码的唯一问题是如果关系已经存在,它将失败,因此您需要确保正在创建一个关系

有关使用此类 stub 实体的更多信息,请查看 my post .希望这会有所帮助。

亚历克斯

从 OP 编辑​​:

因为我使用的是 EF4,所以我使用以下代码从附件中删除字符串(感谢链接中的提示 13)。

var person = // you already have the person
var store = new Store{StoreID = 5} // you know the storeID

ctx.Stores.Attach(store);
person.Stores.Add(store);
ctx.SaveChanges();

关于entity-framework - Entity Framework - 添加以仅使用外键值连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3779354/

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