我正在使用Entity Framework处理一组包含3个不同表的层次结构,以公寓单元->公寓大楼->业主组织为例。每个表都有一个主键和一个外键指向其所有者在数据库中的位置。当我构建EF模型时,它为每个表创建了属性。确实,保存每个实例非常容易。例如,我还学会了添加新单元的方法:首先需要添加一个组织,将其添加到新的大楼中,然后将其添加到新单元中,最后再保存。这有点麻烦,但很合理。
现在让我困惑的是,我有一个新的公寓单元,但它位于现有的大楼中。我可以使用适当的属性构建一个新的大楼对象,并将其附加到新的单元上,但是当我尝试保存该单元时,框架会在apartmentComplex表中抛出一个主键冲突,因为它试图将我附加的大楼作为新大楼添加,而不是现有的大楼。
对我来说,解决方法似乎是首先去检索现有的大楼实例,而不是自己构建一个 - 实际上,让EF来构建它,而这需要另一轮回传,似乎有些过度。是否有更简单的方法来保存我的新公寓单元?
现在让我困惑的是,我有一个新的公寓单元,但它位于现有的大楼中。我可以使用适当的属性构建一个新的大楼对象,并将其附加到新的单元上,但是当我尝试保存该单元时,框架会在apartmentComplex表中抛出一个主键冲突,因为它试图将我附加的大楼作为新大楼添加,而不是现有的大楼。
对我来说,解决方法似乎是首先去检索现有的大楼实例,而不是自己构建一个 - 实际上,让EF来构建它,而这需要另一轮回传,似乎有些过度。是否有更简单的方法来保存我的新公寓单元?