我正在尝试评估NHibernate.LINQ 1.0而不实际编写任何代码.Ayende承认,与EF相比,这个版本的LINQ支持是次要的,但对于我的生活,我似乎无法找到一个页面来解释这个实现中支持和不支持的内容.例如,我可以使用Skip&Take?我不能用什么?
reb*_*ard 18
您可以查看LINQ for NHibernate示例,看看Ayende自己完成的测试是针对什么实现的,以及针对此提供者的测试.
其中一些人普遍支持:
new { Person = x.Name }query.First()query.FirstOrDefault()query.Single()query.SingleOrDefault()query.Aggregate((x1,x2) => x1)query.Where(x => x.Name.Contains("Foo"))where db.Methods.Substring(e.FirstName, 1, 2) == "An" query.Where(x => x.Company.Id == 4)query.Where(x => x.Relatives.Count > 0)query.Any()query.Take(10)query.Take(10).Skip(4)orderby x.Name descendingAfterMethod = e.FirstName.Replace("An", "Zan"), where db.Methods.CharIndex(e.FirstName, 'A') == 1 where e.FirstName.IndexOf("An") == 1 问题:
我自己的一个例子:
query = NSession.Session.Linq<Catalog>()
.Where(acc => acc.Company.Status == "A")
.Where(acc => acc.Id.StartsWith("12-536"))
.Where(acc => acc.Id.EndsWith("92") || acc.Id.EndsWith("67"))
.Take(10).OrderBy(acc => acc.Title);
Run Code Online (Sandbox Code Playgroud)
如果你的生产应用程序正在使用最新的稳定版本2.1.2.4,就像我一样,你会遇到NHibernate.Linq提供商给我们的东西,直到NHibernate 3.0(trunk)得到一个稳定的版本,我们觉得安全到足以使用它主要应用.在那之前,我对NHibernate.Linq和HQL的混合物感到非常满意.
| 归档时间: |
|
| 查看次数: |
5315 次 |
| 最近记录: |