問題タブ [nhibernate-3]

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 に答える
415 参照

c# - Hibernate は次の誕生日を迎えます

タイプ DateTime の列 Birthday を含むテーブルがあります。ここで、HQL を使用して、誕生日が次の 10 日間または過去 5 日間の人物をすべて選択する必要があります。NHibernate 3.2 HQL でこれを行うにはどうすればよいですか? ありがとう。トーマス

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

nhibernate - Nhibernate 3.1 .Net 4.0 - クエリのリストから複合 ID を取得する

複合 ID を持つテーブルを持つ MS SQL データベースがあります。

これは私のxml構成ファイルです:

マッピング オブジェクトを作成しました。

私の Main() では、テーブル内の要素をリストしようとしています:

キーではないパラメータが表示されます。そのため、Description と ManagedData は表示されますが、tm.Configuration は表示されません。スタックでは、すべてのレコードで Null に設定されています。

どうしたの?

これは、composite-id ルール (?) に関連していると思います。

お返事ありがとうございます!

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

queryover - NHibernate QueryOverエイリアスとして何を使用できますか?

これまでのところ、ローカル変数またはローカルプロパティをエイリアスとして使用できることはわかっています。

また

他にどのようなオプションが可能か知りたいです。同様に、外部クラスのプロパティは有効なオプションですか?

静力学をエイリアスとして使用できますか?エイリアスを宣言するための他のオプションはありますか?

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

nhibernate - ISession.SaveOrUpdateCopy() と ISession.Merge() の違いは何ですか?

NHibernate 3.1 では、ISession.SaveOrUpdateCopy()非推奨としてマークされています。ドキュメントでは、Merge()代わりに使用することを提案しています。それぞれのドキュメントは次のとおりです。

SaveOrUpdateCopy(object obj)

指定されたオブジェクトの状態を、同じ識別子を持つ永続オブジェクトにコピーします。セッションに現在関連付けられている永続インスタンスがない場合は、ロードされます。永続インスタンスを返します。指定されたインスタンスが保存されていないか、データベースに存在しない場合は、保存して、新しい永続インスタンスとして返します。それ以外の場合、指定されたインスタンスはセッションに関連付けられません。

Merge(object obj)

指定されたオブジェクトの状態を、同じ識別子を持つ永続オブジェクトにコピーします。セッションに現在関連付けられている永続インスタンスがない場合は、ロードされます。永続インスタンスを返します。指定されたインスタンスが保存されていない場合は、のコピーを保存し、それを新しい永続インスタンスとして返します。指定されたインスタンスはセッションに関連付けられません。関連付けが でマップされている場合、この操作は関連付けられたインスタンスにカスケードされcascade="merge"ます。
このメソッドのセマンティクスは、JSR-220 で定義されています。

それらは私とほとんど同じように見えますが、いくつかの微妙な点が含まれているに違いありません. もしそうなら、それらは何ですか?

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

nhibernate - NH 3.1 で Fetch を呼び出すと、Skip と Take が無視される

ページング用に記述しようとしているクエリがあり、Fetch を使用してオブジェクトのコレクションを熱心に読み込み、そのオブジェクトのページ化されたリストを返します。以下のクエリは機能しません。これは、プロファイラーを見ると、Skip と Take の設定がスキップされ、オブジェクトのリスト (熱心に読み込まれた) が返されるだけだからです。

すべてがコンパイルおよび実行されますが、スキップ部分とテイク部分は無視され、すべてのデータが戻されます。Fetch を Skip および Take と組み合わせてページングに使用することはできますか?

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

visual-studio-2010 - VisualStudio 10 Debugger を使用して、基になる nHibernate (3.1) 基準テキストを検査するにはどうすればよいですか?

Windows では、次のようなコードがあります。

この行の後でデバッガーを中断して
?active_ids.criteriaと入力すると、次のように表示されることがわかりました。

この行の後でデバッガーを中断して
?namematch.criteriaと入力すると、次のように表示されることがわかりました。

ただし、次のような非常に複雑なクエリがある場合:

ただし、?matchQueryと入力すると

'NHibernate...' には 'criteria' の定義が含まれておらず、型 ... の最初の引数を受け入れる拡張メソッド 'criteria' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)

では、Visual Studio Debugger を使用して、nHibernate が matchQuery に対して生成する完全な条件を一覧表示するにはどうすればよいですか?

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

c# - Left Self Join を使用した Hibernate QueryOver

ポジションが関連するポジションを持つことができるポジションのテーブルがあり (必ずしもそうとは限りません)、すべてのポジションには最終更新日があります。次に、2 つの特定の日付の間に変更された (特定のタイプの) すべてのポジションを取得したいと考えています (つまり、「メイン」ポジションまたは関連するポジションが変更されました)。SQL では、これを次のように行います。

現在、私は NHibernate (3.0) と QueryOver にかなり慣れていないため、この SQL クエリを C# コードに変換するのに少し問題があります。いくつかのを読み、他の質問を調べてみましたが、残念ながらうまくいきませんでした。

私の最初の試みは次のようなものでした:

しかし、これは KeyNotFoundException をスローします (指定されたキーが辞書に存在しませんでした)。私は実験を試みましたが、それは欠けているものの1つであると思われますが、うまくいきませんでしたJoinQueryOver.JoinAlias

誰かが私を正しい方向に向けることができれば (またはこれがすでに回答されている質問に)、私はとても感謝しています!

アップデート:

私はlinqを使ってクエリを書いてみました:

例外はスローされませんでしたが、目的の結果が得られませんでした (p.RelatedShipPosition が null.

言っておきますが、HQL を使用すると問題なく動作し、SQL クエリと同じ結果が得られます。

質問はまだ残っています: どうすればこれを QueryOver の使用に変換できますか?

更新 2:
誰かが興味を持っている場合に備えて、MonkeyCoder の回答の助けを借りて、最終的なコードがどのように見えるかを含めます。

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

c# - NHibernate 3は、適切な構文でSQLデータ型を指定します

新しいLoquaciousAPIを使用して文字列プロパティを持つエンティティをNHibernate3のvarchar列にマップしようとしていますが、使用するタイプを指定する方法がわかりません。NHibernate2とFluentNHibernateを使用してエンティティを正しくマッピングできます。

NHibernate 2 w/Fluentマッピング

NHibernate 3 w / loquacious API

「AnsiString」を指定するにはどうすればよいですか(SQLの構築時に、コードに対するクエリは「nvarchar」ではなく「varchar」としてパラメータ化されます)?

SQLServer2008を使用しています。

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

queryover - NHibernate 3 - id/numeric/int で LIKE を実行する方法

SQL Serverは完全に快適ですが、次のことを実行できます。

(id は int です)、NH は、実行時に int 型の SqlParameter として比較値を sql に送信しようとするため、文句を言います。

では、新しい QueryOver API を使用してそれを回避するにはどうすればよいでしょうか?

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

nhibernate - NHibernate 3.x を使用した複数のデータベース

複数のデータベースで NHibernate を使用する方法の記事をいくつか見つけました

しかし、すべての記事は非常に古いものであり、NH 3.x には新しいアプローチがあるのではないでしょうか? ドキュメントを調べましたが、何も見つかりませんでした。

この記事で説明されているよりも、複数のデータベースで NH 3.x を使用するためのより良い方法 (ネイティブ NH3.x の方法) を知っている人はいますか? http://codebetter.com/karlseguin/2009/03/30/using-nhibernate-with-multiple-databases/

ありがとう、アレキサンダー。