我有一个通用存储库,当我使用 DoQuery 方法从数据库中选择对象时,我需要加载一些相关实体,以免在作为外键的字段的位置出现空值。
问题是存储库是通用的,所以我不知道需要加载多少属性或者它们的名称是什么(除非有某种获取它们的方法)我怎样才能使所有外键都加载它们的实体而仍然保持这个存储库通用?
这是 DoQuery 方法:
public ObjectQuery<E> DoQuery(ISpecification<E> where)
{
ObjectQuery<E> query = (ObjectQuery<E>)_ctx.CreateQuery<E>("[" + typeof(E).Name + "]").Where(where.EvalPredicate);
return query;
}
我之前发布过一次,但从未得到答案,但我认为这个更相关,因为在人们假设我知道属性名称并且可以这样做之前:
.Include("PropertyNameIKnowNeedsToBeLoaded")
这是我之前发布的问题,希望能提供一些关于我在哪里的信息。
任何帮助表示赞赏。
谢谢,
马特