And*_*ndy 3 c# linq nhibernate entity-framework fluent-nhibernate
NHibernate 3或4是否具有与Entity Framework的“包含”方法等效的方法,该方法采用字符串参数而不是llambda?我想在NHibernate中做这样的事情:
Contact contact =
context.Contacts.Include("SalesOrderHeaders.SalesOrderDetails")
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
我从这篇文章中看到了这段代码,该代码在一个很酷的循环中使用“获取”,但这仅处理作为主要对象的第一级子对象的对象,而上述EF代码下降了2级,而无需非常严格地-键入lambdas。
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;
}
Run Code Online (Sandbox Code Playgroud)
NHibernate有第二种方法,称为ThenFetch。你将不得不写
this.session.Query<T>()
.Fetch(x => x.Property)
.ThenFetch(x => x.SubProperty);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1452 次 |
| 最近记录: |