实体框架-EDMX循环导航



我们已经确定,如果您有两个相关的实体,然后在它们之间保留默认的导航属性(一个指向另一个并返回),则无法保存实体数据。只能保留一个导航属性。

例如:

ENTITY:USER
Property.UserId
NavigationProperty.Favorites
_
ENTITY:FAVORITE
Property.FavoriteId
Property.URL
Property.UserFk
NavigationProperty.Users

有人知道检测这些循环导航属性的简单方法吗我知道一种方法是手工寻找它们——我们正在这样做,但我们的EDMX中有数百个实体,"手动"方法被证明是不可行的。

谢谢。

我们已经确定,如果您两个相关的实体,然后您保留默认导航它们之间的属性(一个指向到另一个并返回),然后保存实体数据不可能。只有一个可以保留导航属性。

您已经确定它是错误的——保存实体可以毫无问题地工作。这导致问题的唯一场景是序列化,在序列化中,可以通过附加元数据为某些序列化程序解决问题。

最新更新