問題タブ [isession]

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

c# - NHibernate で ReadOnly としてフェッチされたエンティティは PersistenceContext に存在します

NHibernate を ORM として使用するプロジェクトに取り組んでいます。

かなりの数のエンティティを「読み取り専用」としてセッションにロードできます。これは、エンティティを取得後に更新する必要がないためです。

私は2つの異なる方法でこれをやろうとしました:

また:

ただし、どちらの方法でも、エンティティがPersistenceContextISession に存在することがわかります。

これは正常ですか?エンティティは読み取り専用/不変であるため、PersistenceContext には存在しないはずです。エンティティ タイプは複合タイプです。他のタイプへの複数の関連付けがあります。

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

c# - NHibernate の ISession.QueryOver はイベントを発生させますか?

NHibernate のイベント システムについて知ったのはつい最近のことです。ドキュメントによると、

基本的に、ISession インターフェイスのすべてのメソッドはイベントに関連付けられています。

それでも、ISession.QueryOver().List() を使用してオブジェクトのリストをロードしたときに発生するイベントが見つかりません。このかなり一般的な操作には素敵なイベントが関連付けられていると思っていましたが、InitializeCollectionEvent、RefreshEvent、LoadEvent、およびその他のいくつかをテストしましたが、QueryOver() を呼び出したときにそれらのどれも起動しませんでした。私は行方不明ですか?

QueryOver() によって発生するイベントが本当にない場合、InitializeCollectionEvent を発生させる操作は何ですか? オブジェクトのリストがデータベースからロードされるたびに処理したいだけで、これが必要なイベントであると想定しています。

前もって感謝します!

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

c# - NHibernate は Entity Framework の DbSet のようなデバイスを必要としませんか?

私が集めたものから。これDbSetは型指定されたエンティティ キャッシュであり、保存時に永続化が必要なエンティティをDbContextすべてポーリングします。DbSetsNHibernate では、すべてのエンティティ タイプのキャッシングと変更検出が 1 つのISessionインスタンスに結合されます。

では、非常に単純な EF コードを NH コードに変換するにはDbSet、セッションですべての操作を直接実行するだけで済みますか?

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

c# - タイプ「ISession」の式に [] を使用したインデックス付けを適用することはできません

このスニペットで問題が発生しますが、その理由はよくわかりません (コードはチュートリアルからのものです https://www.youtube.com/watch?v=b0CrSerID1A&list=PLjCTEYO9N-j0wMr_p9j92lfgbY4E9c_Ds&index=16

問題の写真