问题标签 [nhibernate-projections]

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 回答
1320 浏览

nhibernate - 帮助 NHibernate Criteria 查询 groupby 属性

我有以下查询,

上面的查询给了我数据,

有没有办法改变查询,以便它提供数据,

这里 Manager 和 QA 是唯一可以进入指定字段的可能值。

0 投票
1 回答
390 浏览

c# - 投影查询中的 group by 子句帮助

我想对每天每小时进入任何机场的人的记录进行分组。所以基本上我想要统计任何特定机场每小时进来的人数。下面是我的代码。

现在,上面的查询以下面的方式给了我记录,

我希望查询将记录显示为,

这样日期和机场就不会不断重复。我想计算每个小时后进来的人。即,凌晨 1 点到 2 点、凌晨 2 点到 3 点等等。

0 投票
1 回答
2220 浏览

collections - 我可以使用 NHibernate Criteria 将实体及其子集合投影到类上吗?

我正在使用 NH Criteria 检索实体并将选择性字段投影到自定义类上(有点像将数据投影到 ViewModel 上以在 MVC 视图上显示)。

这很容易使用 ProjectionList:

但是,我的实体包含一个集合,我也想把它带回来,并将它作为一个集合投影到我的自定义类上。

我的域模型(简化形式)如下所示:

这是我要投影到的“数据模型”类:

现在我知道这些模型看起来非常相似,你会想“有什么意义?”是可以原谅的,但那是因为我已经简化了它们。能够将我的域对象扁平化为方便的数据模型真是太好了。

我的大问题是弄清楚如何从我的子对象(在本例中为 UploadedFile.Filename 和 UploadedFileData.Data)的深处访问必要的字段,并将它们作为 EmailAttachmentDataModel 集合投影到我的 EmailDataModel 上。

我在网上阅读了很多讨论访问子集合的文章 - 使用 EmailCriteria.CreateAlias 或 EmailCriteria.CreateQuery - 但我没有找到任何解释如何将子集合投影为集合的内容。

我希望这对于任何有兴趣修补 NH Criteria 查询的人来说都是一个有用的练习。

0 投票
1 回答
1749 浏览

nhibernate - 如何在休眠查询中执行此操作

我需要在 nhibernate QueryOver 中执行此操作:

到目前为止,我已经这样做了:

但这会选择所有(Select ),我只想要 Command 对象(select sc.)。如果我尝试像这样向查询添加投影:

它抛出这个异常:

来自 x Source=NHibernate
StackTrace: 在 NHibernate.Impl.ExpressionProcessor.FindMemberExpression(Expression expression) in d:\CSharp\NH\nhibernate\src\NHibernate\Impl\ExpressionProcessor.cs: NHibernate.Criterion.QueryOver 的第 189 行2.Select(Expression1[] 投影)在 d:\CSharp\NH\nhibernate\src\NHibernate\Criterion\QueryOver.cs:C:\Projects\EGrad 中 Novatec.Persistence.Repositories.Implementations.UserRepository.GetAllowedUserCommands(Int32 userId) 的第 363 行\Main\Source\Novatec.E-Grad\Source\Novatec.Persistence\Repositories\Implementations\UserRepository.cs:C:\ 中 Novatec.Administracija.Services.Security.SecurityManager.AuthorizeUserAction(Int32 userId, String commandId) 的第 140 行Projects\EGrad\Main\Source\Novatec.E-Grad\Source\Novatec.Administracija.Services\Security\SecurityManager.cs:Novatec.Framework.Infrastructure.Services.ServiceBase.ExecuteCommand 的第 48 行(Int32 userId,String appId,ICommand命令)在 C:\Projects\EGrad\Main\Source\Novatec.E-Grad\Source\Novatec.Framework.Infrastructure\Services\ServiceBase.cs:第 94 行内部异常:

0 投票
3 回答
1628 浏览

nhibernate - NHibernate 使用 Linq 或 QueryOver 将子实体投影到父属性中

也许这很简单,但我坚持下去,我没有找到任何关于如何完成的答案。我有一个父实体用户,其中包含一组子实体操作。这两个实体仅用于 UI,因此它们是视图的一种。这是伪代码

我想做的是在一次到数据库的往返中从子集合中初始化具有 TotalSuccesfulAccesses 和 TotalFailedAccesses 的用户。

对于每个用户,我们应该计算Sum(Operation.NbSuccessfulAccesses)Sum(Operation.NbFailedAccesse)并分别对User.TotalSuccesfulAccessesUser.TotalFailedAccesses进行投影。

我尝试使用多标准和几个查询,但我对此并不满意。我想知道是否有一种简单的方法可以通过投影或其他方式来实现。或者,也许我错过了什么。

你会推荐什么 ?

提前感谢您的帮助。

0 投票
0 回答
4621 浏览

c# - 使用 NHibernate 投影连接字段

使用这个问题的公认答案,我已经能够使用 ICriteria 和投影连接两个字段。我结束了

这会将预期的查询发送到服务器并且正在工作。

我的问题是除了使用 SqlFunction 使用 ICriteria 和投影进行连接之外,是否还有其他方法。

0 投票
3 回答
16407 浏览

c# - 有人可以更好地解释 nHibernate 中的“投影”是什么吗?

作为 nHibernate 及其实用程序库 fluent nhibernate 的新用户,我正在努力学习足够多的知识,以使一个好的数据库变得危险。

我在理解Projections的概念时遇到了极大的困难。具体来说,他们到底是什么?

我确实对“什么是预测? ”进行了精确搜索。'和' nHibernate中的项目'和' nHibernate,Projections,Definition '等。我仍然很困惑。到目前为止,最有帮助的帖子是This other StackOverflow QuestionColin Ramsay 的这篇博客文章。但我仍然非常困惑。我对数据库的了解充其量仍然是入门级的。

我真的不明白预测是什么,为什么要使用它们,它们正在完成什么等。我在博客文章中看到他正在使用它们来获取整数列表(我假设是主键),以便他可以在不同的查询中使用它们,但这在它的运作方式和原因方面有点模糊。

0 投票
1 回答
1868 浏览

nhibernate - 带有子集合的休眠投影

使用 NHibernate 2.1,我正在尝试将实体及其子集合投影到 DTO 中。我的实体看起来像这样..

我的 DTO 看起来像这样..

我选择只是应用程序和项目的代码是这样的(使用 Nhibernate 2.1 和 nhLambdaExtensions)

我的问题是,如何将 ApplicationSettings 实体中的一些属性投影到 ApplicationSettingsDto 子集合?

0 投票
1 回答
478 浏览

c# - 使用投影查询的本周数据总和

我想做本周数据库中的所有字段。例如,如果今天是星期三,我想计算当前星期一到星期三的总数,如果是星期四,那么星期一到星期四。我将如何使用 NHibernate 中的投影查询来做到这一点?在我下面的代码中,我将如何对数据进行分组,以便仅显示当前周的总和。数据库中的日期字段名为 MyDate,它的类型为 datetime。

0 投票
1 回答
1184 浏览

nhibernate - average(datediff) 类型的投影总是返回 0.0

这很令人费解;生成的 SQL 非常好,手动运行时我得到了正确的结果。
但是,在转换过程中的某处,“AverageTime”字段设置为 0.0,而不是正确的结果。
我的查询:

生成的查询是正确的:

ps显然测量员工的平均时间只是为了举例。我真正的查询是针对其他实体..