gpt4 book ai didi

entity-framework - 在具有现有父项的 EF 中添加新记录

转载 作者:行者123 更新时间:2023-12-02 02:27:11 25 4
gpt4 key购买 nike

我在层次结构中使用 Entity Framework 和一组 3 个不同的表。想想 ApartmentUnit -> ApartmentComplex -> OwnerOrganization。每个人在数据库中都有一个主键和一个指向其所有者的外键。当我构建 EF 模型时,它为每个模型创建了属性。实际上,保存每个的新实例非常容易。我还了解到,例如,要添加一个新单位,我首先需要添加一个组织,将其添加到一个新的综合体,然后在保存之前将其添加到新单位。需要做一些工作,但很有意义。

我现在感到困惑的是,我有一个新的公寓单元,但它住在现有的大楼里。我可以构建一个具有适当属性的新复杂对象,并将其附加到新单元,但是当我去保存单元时,框架在 apartmentComplex 表中吐出一个主键冲突,因为它试图添加complex 我附加为一个新的 complex,而不是现有的。

对我来说,解决方法似乎是先去检索复合体的一个新实例,而不是构建一个 - 实际上,让 EF 构建它而不是我 - 但这将意味着另一个往返并且似乎有点矫枉过正大部头书。有没有更简单的方法来保存我的新公寓单元?

最佳答案

您可以在不访问数据库的情况下创建现有的复合体,但您必须在保存之前将其附加到上下文。

Complex existingComplex = new { ID = 1234 };
entitiesContext.AttachTo("Complexes", existingComplex);
newAppartment.Complex = existingComplex;
entitiesContext.SaveChanges();

关于entity-framework - 在具有现有父项的 EF 中添加新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5482306/

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