问题标签 [nhlambdaextensions]

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

c# - 如何使用 lambdas 表达“不在”?

我正在尝试not in使用 NHLambdaExtensions 使用 NHibernate Criteria API 创建一个子句。阅读文档,我能够通过执行该in子句

但是,当我把它包裹起来时,SqlExpression.Not我得到了错误

我正在使用这段代码

我怎样才能做到这一点?使用常规的 Criteria API 我能够做到这一点

0 投票
1 回答
208 浏览

nhibernate - NHibernate Lambda 扩展中的“或”

如何将两个条件与 OR 语句结合起来?

例如,我想获取在生日字段中为 null 的员工,或者该字段的值小于 someDate。我应该如何重写这段代码:

0 投票
3 回答
261 浏览

asp.net-mvc - ASP.Net MVC - Helper lambdaexpression post action

我使用 lambda 表达式创建了这个帮助器方法,以在视图中使用强类型帮助器

帮手

看法

控制器

我的问题是 MyAccount.DataNascita 未设置为我在编辑表单中选择的值(日期的最小值.. 例如 1900/01/01)。

如何在编辑帖子操作中绑定它?

0 投票
1 回答
613 浏览

nhibernate - NHibernate 3.1:调用 LambdaExtensions 时出现 MissingMethodException

自从从 NH 3.0 升级到 3.1 以来,我在使用以下代码时遇到了一些麻烦:

这将编译得很好,但是在运行它时,只要将 In 条件添加到条件中,就会出现异常。

System.MissingMethodException:找不到方法:NHibernate.Criterion.AbstractCriterion NHibernate.Criterion.Restrictions.InG(System.String,System.Collections.Generic.ICollection 1<**UNKNOWN TYPE**>). at NHibernate.LambdaExtensions.SqlExpression.InG(Expression1 表达式,ICollection`1 值)

我可以使用 QueryOver 而不是 Criteria 来重建查询,它会起作用,但是这样做需要挖掘很多我没有时间去做的代码。使用 NH 3.0 我没有问题。

NH 3.1 有什么变化还是我有一些奇怪的 dll 问题?

0 投票
1 回答
708 浏览

linq - 帮助 nHibernate linq 提供程序扩展的表达式

我正在通过扩展 BaseHqlGeneratorForMethod 为 nHibernate 开发自定义 linq 扩展。该技术记录在这里: http: //fabiomaulo.blogspot.com/2010/07/nhibernate-linq-provider-extension.html

我已经成功地为各种类型的操作实现了这些,但我必须说 - 将一个简单的 linq 表达式转换为其完整的表达式树并不容易!我现在被困在一个上。

对于这个例子,我有三个实体。 Employee, Group, 和EmployeeGroup. EmployeeGroup 类在 Employee 和 Group 之间建立了多对多的关系。我必须专门创建中间类,因为还有其他属性可以跟踪,例如每个员工在每个组中拥有的特定权限。所以有两个一对多的关系,而不是一个 nHibernate 的多对多关系。

现在假设我想获取包含特定员工的所有组。我可以写这个查询:

这很好用,但是要输入很多。我宁愿能够做到这一点:

我首先创建一个扩展方法,如下所示:

这在查询本地组列表时有效,但不适用于 nHibernate 会话。为此,我还必须创建一个 linq 扩展并注册它。就像在文章(上面链接)中一样,我创建了一个GroupHasEmployeeGenerator扩展类BaseHqlGeneratorForMethod。我将其.SupportedMethods属性设置为引用我的 HasEmployee 扩展方法。

我迷路的地方是覆盖到BuildHql. 要构建的表达式变得非常复杂。我想,因为我要替换该.Any子句 - 一个好的起点是内置AnyHqlGenerator类的源代码。但这并没有考虑到源是原始元素的属性,也没有考虑到我没有 lambda 表达式来表示 where 子句。我需要手动构建这些部分。

到目前为止,发布我的尝试毫无意义,因为它们都离任何可行的方法相去甚远。

有人可以帮我将这个简单的表达式转换为BuildHql方法覆盖的适当方法集吗?

如果有任何更好的文档,请告诉我。谢谢。

0 投票
1 回答
155 浏览

c# - 这段代码是否存在从 NHibernate 生成 NotSupportedException 的工作?

以下是代码:

这段代码是一个重构的代码,如果我将它分解为它的对象和属性级别,我需要在我的代码项目中重复它一百次。根据我在这个站点的研究,它与 SQL 翻译有关。但是有什么办法可以解决这个代码或其变体可以正常工作的地方吗?

0 投票
4 回答
237 浏览

c# - 如何将我的 SQL 命令转换为 lambda 表达式?

我有这样的 SQL 查询:

我也有一个方法,它给了我来自Newsletter_TBL命名的所有记录的列表:

时事通讯GellAll()

并且我之前尝试过,但它不起作用:

我该如何解决?

0 投票
2 回答
388 浏览

c# - C# 表达式 - 获取默认值或转换 int?到 int

我有一个像下面这样的类

我有创建一个动态表达式生成器,在某些情况下我需要convert int? to intgetdefaultvalueint 例如

但是当执行最后一行异常时返回类型不匹配
,因为SaleCount是int但sum方法返回int?
谁能帮我?

0 投票
1 回答
816 浏览

java - 获取 CompletableFuture.supplyAsync 的结果

我有这段代码:

但我得到一个编译错误:

thenApply(Function<? super Boolean,? extends U>)类型 中的方法CompletableFuture<Boolean>不适用于参数((<no type> result) -> {})

0 投票
0 回答
170 浏览

c# - 如何使用 lambda 表达式在 Entity Framework 中加入两个实体?

0

我是实体框架的新手。

我正在使用抽象存储库模式。

请参阅我有 2 个表(实体)。

检查报告和项目。

Projects 的 ID 字段在 InspectionReport 中是外来的。

我已经成功地分别从 InspectionReport 加载了数据。但我想根据 InspectionReport 中的 ProjectID 从项目表中加载项目名称。

我已经尝试过了,但它不起作用。

完整代码:

检验报告类:

项目.cs