问题标签 [linq-to-nhibernate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1126 浏览

nhibernate - Linq to nhibernate - 有where子句问题

我正在使用带有以下查询的 linq-to-nhibernate:

使用此查询,我只想获取属于 storecode 的所有 storeZoneStyles。现在,当我运行它时,我得到以下运行时异常:

无法将“System.Linq.Expressions.ConstantExpression”类型的对象转换为“System.Linq.Expressions.LambdaExpression”类型。

有人可以帮帮我吗?

0 投票
1 回答
1558 浏览

linq - Linq-to-NHibernate OrderBy 不工​​作

我正在尝试通过它的孩子的总和来订购一个 Linq to NHibernate 查询。

这似乎不起作用。查看 NHProf 时,我可以看到它是按 Parent.Id 排序的。我想也许它正在返回结果并在 SQL 之外对它们进行排序,但是如果我在 Linq 查询中添加一个 .Skip ( 1 ).Take( 1 ),它仍然按 Parent.Id 排序。

我尝试使用内存列表执行此操作,并且效果很好。

我做错了什么,或者这是 Linq to NHibernate 的问题吗?

我确信我总是可以返回列表,然后对它们进行操作,但这不是一个理想的解决方法,因为我不想返回所有记录。

0 投票
4 回答
19786 浏览

linq - NHibernate.Linq LIKE

如何使用 NHibernate.Linq 生成此查询?

请注意,这不是 Linq To Sql 或实体框架。这是NHibernate。

编辑:

这是使用 ICriteria 的所需查询:

0 投票
1 回答
389 浏览

nhibernate - 为什么 NHibernate Linq 会重复结果?

我有一个简单的 Nhibernate Linq 查询,它返回的结果比预期的要多:

Foo 看起来像这样:

我的问题是我为“关联酒吧”集合中的每个酒吧都得到了一个重复的 Foo。因此,如果集合中有 20 个 Foo 实例的 Bars,我会得到 20 个 Foo 实例,每个实例有 20 个 Bars。

Foo 的映射:(FluentNhibernate)

当我执行这个等效的 Hql 查询时,问题不会发生:

此外,当我更改 Foo 的映射以对 AssociatedBars 使用延迟加载时,问题不会发生。

有任何想法吗?另外,Nh Linq 的最佳论坛在哪里?我在这里找不到这么张贴的!

0 投票
2 回答
2855 浏览

.net - Linq 到 NHibernate:不同

我正在尝试使用 Linq-to-NHibernate 获得以下 SQL 输出:

Name 和 Year 属性将包含在一个新类中,因此 C# 代码将如下所示:

如何让 DISTINCT 关键字出现在 sql 查询中?

0 投票
2 回答
1440 浏览

linq - NHibernate 和 LINQ - InvalidOperationException:“找不到名为...的实体”

看看以下测试:

第一个运行,所以我假设映射是正确的(在Action类中使用 NHibernate.Attributes)。测试二失败,但有以下例外:

System.InvalidOperationException:找不到名为:BOM.Domain.Action 的实体。

事实证明,在 where 条件中使用实体的每个 linq 表达式都会因此异常而失败。删除 where 将使它通过,但这当然不是我想要实现的。我错过了什么?为什么会有这个例外?


更新:

我创建了一个单独的项目,如下所示。

域对象:

映射文件:

单元测试初始化​​创建一个 SQL CE 数据库文件,看起来没问题。测试非常相似,而且我的行为与以前相同:使用 ICriteria 获取工作正常,使用 Linq 获取工作正常,直到我添加与域对象相关的条件。与以前相同的 InvalidOperationException,这里是堆栈跟踪:

测试方法 Tests.ReadTests.CanReadWithLinq 抛出异常:System.InvalidOperationException:找不到名为:Domain.TestEntity 的实体。在 NHibernate.Linq.Util.CriteriaUtil.GetRootType(CriteriaImpl 标准) 在 NHibernate.Linq.Util.CriteriaUtil.GetRootType(ICriteria 标准) 在 NHibernate.Linq.Visitors.MemberNameVisitor.IsRootEntity(EntityExpression expr) 在 NHibernate.Linq.Visitors.MemberNameVisitor .VisitEntity(EntityExpression expr) 在 NHibernate.Linq.Visitors.NHibernateExpressionVisitor.Visit(Expression exp) 在 NHibernate.Linq.Visitors.NHibernateExpressionVisitor.VisitPropertyAccess(PropertyAccessExpression expr) 在 NHibernate.Linq.Visitors.MemberNameVisitor.VisitPropertyAccess(PropertyAccessExpression) 在 NHibernate .Linq.Visitors.NHibernateExpressionVisitor。1.GetEnumerator() at System.Linq.Enumerable.FirstOrDefault<TSource>(IEnumerable1 来源)在 ReadTests.cs 中的 Tests.ReadTests.CanReadWithLinq():第 52 行。

0 投票
2 回答
753 浏览

linq - Linq to Nhibernate 查询的 Where(...) 子句中的函数调用是否会对性能产生负面影响?

我在我正在构建的应用程序中使用 linq 休眠和 IQueryable.Where 函数。Expression让我感到困惑的是,我创建并传递给 INhibernateQueryable 的 Where 函数的 s是如何影响性能的。

在性能方面,我不太确定在编写这些查询表达式时应该避免哪些问题。如果我通过如下函数调用传入一个表达式:

是否要检索每条记录where IsBuyOrder = true,然后CheckVariousProperties在延迟执行不再延迟后立即调用它们的函数?

函数调用如何影响 LinqToNhibernate 性能?

在 LINQ to Nhibernate 查询表达式中应该避免哪些事情?

0 投票
1 回答
625 浏览

.net - 将 Linq 实施到 NHibernate 时出现“Linq 不是 NHibernate.ISession 的成员”错误

我正在努力让 Linq To NHibernate 工作。我参考了 NHibernate、NHibernate.Linq 和 NHibernate.ByteCode.Castle。此外,我在同一个文件夹中有所有其他依赖项。

代码/错误信息:

“Linq 不是 NHibernate.ISession 的成员”

...告诉我没有加载 LINQ 扩展。使用 NHibernate.Linq 的方式似乎非常容易使用,因此没有关于如何设置它的教程。(或者至少我找不到任何东西)。

你有什么想法,我可能会错过什么?

更新: 数据访问层的参考

替代文字

提前致谢

0 投票
1 回答
814 浏览

linq - OR 语句的 Linq.NHibernate 问题

注意:所有代码都写在我的头上。它可能包含一些错误。只要得到这个问题的总体观点)

采用此类定义:(为简单起见减少)

拿那些对象:

cvList 包含要过滤的 CodedValue 列表。

让我们假设我的数据库包含这些记录:

现在,我想检索 codedvalue 在列表中的所有对象

NHibernate 将此 Linq 翻译为:

这是错误的。如果您看一下我的记录示例,此 SQL 将返回所有行。SQL 应翻译为:

那么,我可以使用 Linq 获得我想要的结果吗?如果是这样,怎么做?如果没有,我该如何实现?

谢谢

0 投票
2 回答
127 浏览

.net - 如何检查 Linq to NHibernate 中的查询语句?

一旦执行 linq to nhibernate 查询以记录或检查 sql 查询,我想查看 sql 查询。我能怎么做?