gpt4 book ai didi

c# - NHibernate 3 或 4 等同于 Entity Framework Include

转载 作者:行者123 更新时间:2023-11-30 14:50:12 28 4
gpt4 key购买 nike

NHibernate 3 或 4 是否具有与 Entity Framework 的“Include”方法等效的接受字符串参数而不是 llambda 的方法?我想在 NHibernate 中做这样的事情:

Contact contact =
context.Contacts.Include("SalesOrderHeaders.SalesOrderDetails")
.FirstOrDefault();

我从 this post 看到这段代码它在很酷的循环中使用“Fetch”,但这只处理作为主对象的第一级子对象的对象,而上面的 EF 代码下降了 2 级而不需要强类型的 llambdas。

public IQueryable<T> All<T>(params Expression<Func<T, Object>> [] fetchPaths)
{
var queryable = this.session.Query<T>();

foreach (var fetchPath in fetchPaths)
{
queryable = queryable.Fetch(fetchPath);
}

return queryable;
}

最佳答案

NHibernate 有第二种方法叫做 ThenFetch。你将不得不写

this.session.Query<T>()
.Fetch(x => x.Property)
.ThenFetch(x => x.SubProperty);

关于c# - NHibernate 3 或 4 等同于 Entity Framework Include,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37324746/

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