我有一个virtual Property SomeList
类型ICollection<X>
和一个Property SomeNarrowList
类型ICollection<Y>
。
Class X
包含一个virtual property Element
。Class Y
SomeList
正在从数据库中填充,之后使用一些方法从Element
.
正如我现在正在做的那样,每当调用这样的方法时,都会执行检查以查看是否SomeNarrowList
为空,如果是,则Element
使用SomeList
.
这段代码对我来说似乎相当混乱,我希望有一个更干净的解决方案。
get
我的第一个想法是为属性的值提供一个实现SomeNarrowList
,但这提出了一个问题:使用 EF 映射属性时,以什么顺序加载属性(如果有)?如果该SomeNarrowList
属性将在之前加载SomeList
,这将导致为空SomeNarrowList
。
另一个想法是使用 LINQ 始终引用SomeList
属性并从那里获取每个Element
属性,但我还没有完全弄清楚如何做到这一点。
我应该如何处理这个?