问题标签 [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 投票
2 回答
799 浏览

castle-activerecord - Castle ActiveRecord 使用 Linq to Nhibernate 示例

我已经使用 ActiveRecord 库很多年了。最近我开始了一个新项目,我在这个项目中包含了 AR 2.0 版本。我看到它随 Linq to Nhibernate 库一起提供。有没有很好的例子来说明如何将 Linq to Nhibernate 与 Active Record 库一起使用?

0 投票
3 回答
1083 浏览

linq-to-nhibernate - 如何在 linq 到 NHibernate 中检查转换后的 sql 查询?

我正在使用 Linq 到 NHibernate。

我有以下测试用例:

而且我在 CategoryRepository 类中有以下代码:

我的问题是,一旦执行 linq to nhibernate 语句,如何检查真正转换的 sql 查询?有什么方法吗?

我知道我可以使用 SQL 探查器,但是我想在测试用例中使用 Mock 对象,所以我不想在任何与数据库相关的方法中看到它。

0 投票
1 回答
2328 浏览

nhibernate - NHibernate:如何忽略缓存并直接进入数据库?

考虑一个典型的 NHibernate 上下文类。

我的问题:

  • 如何重写 GetPerson 方法以忽略缓存并直接从数据库中检索数据?
0 投票
3 回答
1041 浏览

nhibernate - NHibernate Linq 使用隐式事务?

我正在使用 Ayende 的 NHibernate Linq 版本 2.1.2,可在此处获得,并且当我使用 NHProf 检查使用此方法的查询时:

它给了我一个警告,我正在使用隐式事务。问题是,我在存储库中使用它来抽象出数据库会话,但我仍然想要返回 IQueryable 的灵活性,这样我就可以运行我想要的任何 Linq 查询。有没有办法Session.Linq<T>()在不暴露的情况下显式地将其包装在事务中,或者在这种情况下我应该忽略警告吗?

多一点背景。我正在使用这样的方法:

0 投票
4 回答
2006 浏览

linq - Linq to NHibernate:成熟了吗?

我正在考虑在即将到来的项目中使用 Linq to NHibernate,所以我想要一些关于它的反馈。我发现在 2 月份问过这个相同的问题,而且当时 Linq to NHibernate 似乎还不是很成熟......从那以后它有没有改善?有没有人在现实生活中使用过它?

感谢您的反馈意见

PS:请不要关闭为重复:现有的问题已经快 1 年了,我问的是产品的当前状态......

0 投票
1 回答
5539 浏览

nhibernate - Linq to NHibernate 和 Group By

我正在为 NHibernate 使用当前的 Linq 提供程序(版本 2.1)。

我有两个实体:VideoGame 和 GameDeveloper,它们之间存在多对一的关系。我正在尝试执行此类查询,该查询计算每个游戏开发人员拥有的视频游戏数量:

枚举此查询会导致异常 - “无法解析 Entities.VideoGame 的属性键”。现在,如果我按 v.Developer.Id 分组,它可以工作,但我无法选择 Name 列并在结果中显示它。我可以按 v.Developer.Name 进行分组,但这似乎不对,因为两个开发人员可能具有相同的名称。

我知道当前的 Linq 提供程序不再被开发,但希望对这种情况提出任何建议。

0 投票
2 回答
1030 浏览

nhibernate - 在同一查询中使用 Linq 在 Nhibernate 中选择父级和子级数

我正在尝试通过创建一个简单的博客应用程序来学习 MVC 和 nHibernate。

我有一个帖子表和一个评论表。每个帖子可以有多个评论。现在在我看来,我必须显示帖子的详细信息和评论数量。

我尝试了下面的代码

这将返回以下 SQL:

并且明显抛出了一个没有被使用的sql异常group by

0 投票
4 回答
12662 浏览

c# - LINQ-NHibernate - 为复杂对象仅选择几个字段(包括集合)

我在我的一个项目(和 ASP.NET MVC 应用程序)中使用 Fluent NHibernate,使用 LINQ 查询数据(使用 LINQ to NHibernate 库)。

更改对象名称以保护无辜者。

假设我在数据库 (MySQL) 中有以下类 Foo、Bar、Baz 和它们的相应表。

Foo 与在 Fluent 映射中定义的 Bar(表“FooBar”)和 Baz(表“FooBaz”)具有多对多关系。因此,类接口定义如下:

这是一个非常标准的课程。我们可以看到一个 Foo 对象将有一个 bar 和 baze 的列表。

尝试执行 LINQ 查询时出现问题。

如果我做一个这样的简单查询,它可以正常工作(where 子句不重要):

这将返回一个 Foos 列表,其中填充了所有字段(id、name、email、bars、bazes)。log4net 显示 NHibernate 对集合执行单独的查询。

当我只想加载某些字段时,就会出现问题。例如,我可能只想加载查询中的条形图,而不是 bazes。

此查询编译,但在运行时产生错误:

我得到的错误是数组索引越界异常。堆栈跟踪显示了一些与 LINQ-NHibernate 方面的集合处理相关的方法名称,但仅此而已。log4net 报告的查询在柱上没有显示查询的迹象,这意味着在它有时间执行查询以选择柱之前捕获了一个错误。

以前有没有其他人遇到过这种问题?你是怎么解决的?我不想每次在我的应用程序中打开网页时都必须选择所有对象!

谢谢!

编辑:这是堆栈跟踪,根据要求。

0 投票
1 回答
1446 浏览

tsql - Linq To NHibernate Plus sql 用户定义函数

我有一个相当大的 linq-to-nhibernate 查询。我现在需要添加一个基于用 t-sql 编写的用户定义函数的过滤器,我必须将参数传递给该过滤器。就我而言,我需要传入用户输入的邮政编码并将其传递给 t-sql 函数,以按与该邮政编码的距离进行过滤。这可能吗,还是我需要使用 ICriteria api 重写我的查询?

0 投票
2 回答
2414 浏览

nhibernate - NHibernate.Linq System.Nullable throws ArgumentException, the value "" is not type

I have a class of type MetadataRecord:

and a matching mapping file as follows:

I'm running a unit test against this class to check for values returned for IntegerObject which is a nullable type of long, from an instance of MetadataRecord. I'm using NHibernate.Linq (v 1.1.0.1001) to query as follows:

The INTEGER_OBJECT column from the corresponding table is nullable, and I expect IsNull to be true or false. However, I get the following error:

Test method ActiveMediaMetadataViewerTestProject.MetadataRecordTest.IntegerObjectTest threw exception: NHibernate.Exceptions.GenericADOException: Unable to perform find[SQL: SQL not available] ---> System.ArgumentException: The value "" is not of type "System.Nullable`1[System.Int64]" and cannot be used in this generic collection. Parameter name: value.

I can't figure out why it's trying to cast a string to a nullable type. Is there another way in which I should be opening the session, decorating the class, even constructing the mapping file, ..... where am I going wrong here? I could resort to using Criteria, but I was much enjoying the intellisense and "refactorability" with Linq.