問題タブ [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# - ラムダを使用して「notin」を表現するにはどうすればよいですか?

not inNHLambdaExtensionsを使用してNHibernateCriteriaAPIで句を作成しようとしています。ドキュメントを読んで、私は次のことをin行うことで条項を実装することができました

ただし、ラップするとSqlExpression.Notエラーが発生します

私はこのコードを使用しています

どうすればこれを達成できますか?通常のCriteriaAPIを使用して、これを行うことができました

0 投票する
1 に答える
208 参照

nhibernate - NHibernate Lambda 拡張機能の「OR」

2 つの条件を OR ステートメントで結合するにはどうすればよいですか?

たとえば、誕生日フィールドに null があるか、このフィールドの値が someDate より小さい従業員を取得したいとします。このコードをどのように書き直す必要がありますか:

0 投票する
3 に答える
261 参照

asp.net-mvc - ASP.NetMVC-ヘルパーラムダ式ポストアクション

ビューで強い型ヘルパーを使用するために、ラムダ式を使用してこのヘルパーメソッドを作成しました

ヘルパー

見る

コントローラ

私の問題は、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値)

Criteriaの代わりにQueryOverを使用してクエリを再構築できますが、それは機能しますが、それを行うには、時間がない多くのコードを掘り下げる必要があります。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 式を完全な式ツリーに変換するのは簡単ではありません。私は今、1つにこだわっています。

この例では、3 つのエンティティがあります。 EmployeeGroup、およびEmployeeGroup。EmployeeGroup クラスは、Employee と Group の間に多対多の関係を設定します。各従業員が各グループで持つ特定のアクセス許可など、追跡する追加のプロパティがあるため、特に中間クラスを作成する必要があります。したがって、nHibernate の多対多の関係ではなく、2 つの 1 対多の関係があります。

ここで、特定の従業員を含むすべてのグループを取得したいとします。このクエリを書くことができます:

これは問題なく機能しますが、入力するのは大変です。私はむしろこれを行うことができます:

次のような拡張メソッドを作成することから始めます。

これは、グループのローカル リストをクエリするときに機能しますが、nHibernate セッションに対しては機能しません。そのためには、linq 拡張機能も作成して登録する必要があります。記事 (上記のリンク) と同じように、GroupHasEmployeeGeneratorを拡張するクラスを作成しますBaseHqlGeneratorForMethod.SupportedMethodsHasEmployee 拡張メソッドを参照するようにそのプロパティを設定しました。

私が迷子になるのは、へのオーバーライドBuildHqlです。構築する式はすぐに複雑になります。私は.Any句を置き換えているので、組み込みクラスのソースから始めるのが良いでしょうAnyHqlGenerator。ただし、ソースが元の要素のプロパティであることは考慮されていません。また、where 句を表すラムダ式がないことも考慮されていません。これらのパーツを手動で作成する必要があります。

これまでのところ、私の試みを投稿しても意味がありません.

この単純な式をメソッドのオーバーライドに適した一連のメソッドに変換するのを誰か手伝ってくれませんBuildHqlか?

これに関するより良いドキュメントがあれば、私に知らせてください。ありがとう。

0 投票する
1 に答える
155 参照

c# - NHibernateからNotSupportedExceptionを生成するこのコードの回避策はありますか?

コードは次のとおりです。

このコードはリファクタリングされたコードであり、オブジェクトとプロパティレベルに分割すると、コードプロジェクト全体で100回繰り返す必要があります。このサイトでの私の調査によると、それはSQL変換と関係があります。しかし、このコードまたはそのバリアントが正常に機能する回避策はありますか?

0 投票する
4 に答える
237 参照

c# - SQL コマンドをラムダ式に変換するにはどうすればよいですか?

私はこのようなSQLクエリを持っています:

Newsletter_TBLまた、 namedからのすべてのレコードのリストを取得するメソッドもあります。

ニュースレターGellAll()

以前に試してみましたが、うまくいきません:

どうすれば修正できますか?

0 投票する
2 に答える
388 参照

c# - C# 式 - 既定値を取得するか、int に変換しますか? 整数に

私は以下のようなクラスを持っています

動的式ビルダーを作成しました。場合によっては、intconvert int? to intまたはgetdefaultvalueint が必要な場合があります


しかし、最後の行を実行すると、型が一致していないため例外が返されますSaleCountが、合計メソッドは int を返しますか?
誰でも私を助けることができますか?