この状況でどちらを使用すべきか疑問に思っています。私は、サーバーに値を返すドロップダウンリストを持っています。サーバーは現在、loadを使用してオブジェクトを作成します。それから、値を取得し、それを列挙型に変換しようとします。GetまたはLoad-nhibernateを使用する必要がありますか?
いくつかの読書をした後、私はPK以外のオブジェクトから何かにアクセスする必要があるため、Getを使うべきだと思われます。
この状況でどちらを使用すべきか疑問に思っています。私は、サーバーに値を返すドロップダウンリストを持っています。サーバーは現在、loadを使用してオブジェクトを作成します。それから、値を取得し、それを列挙型に変換しようとします。GetまたはLoad-nhibernateを使用する必要がありますか?
いくつかの読書をした後、私はPK以外のオブジェクトから何かにアクセスする必要があるため、Getを使うべきだと思われます。
一般に、ID自体以外のプロパティにアクセスする必要がある場合はGet
を使用してください。これにより、コードの意図がはるかに明確になり、長期的にはより効率的になる可能性があります。 Load
は、データベースへの不必要なラウンドトリップを行わずに、エンティティを作成または更新するときにFK関係を設定する必要がある場合に最適です。
詳細については、Ayende's articleを参照してください。
Get
とLoad
は、遅延読み込みが有効な場合は異なります。 メソッドLoad
を使用する場合、NHibernateはデータベースからエンティティを取得せず、代わりにプロキシオブジェクトを作成し、唯一の入力プロパティはIDです。 他のプロパティにアクセスすると、NHibernateはDBからエンティティをロードします。
あなたのケースでは、最良の使用は取得する必要があります。