質問

SubSonic(2.2)を構築中のアプリケーションで使用したいのは、そのシンプルさが気に入っており、必要と思われるあらゆる種類のクエリを処理できるからです。同時に、アプリケーションの上位レイヤーをSubsonicタイプから切り離したままにします。プレーンオールドC#オブジェクトだけを返し、POCOを渡して保存したい。

しかし、ここに問題があります。POKには、FK関係に基づいて、子コレクションと親オブジェクトのレイジーロードプロパティが必要です。私は何らかの方法でSubsonic SqlQueryオブジェクトをPOCOのプライベートメンバーに配置し、遅延ロードプロパティの取得メソッドで内部的に使用する必要があると考えています。

これをSubSonicで具体的に実装する方法についてのアイデアはありますか?誰もこれをやったことがありますか?

SubSonicの次のメジャーリリースでこのアウトオブボックスが実行されることは承知していますが、少なくとも数か月先のことです。

役に立ちましたか?

解決 4

これを行う良い方法を見つけられなかった。 Subsonic 3は非常に見栄えが良く、問題を解決しますが、当面は NHibernateで行った

他のヒント

<!> quot; mostly <!> quot;のSubSonicでRepositoryRecordを使用します。ポコ。次に、プロパティが選択されたときに他のクラスをロードするクラスのパーシャルを作成します。

Partial Public Class Book

Private _Author as Database.Author 
Property Author() as Database.Author
  Get
     If _Author is nothing then
       ' Load the author class here.
     End if
     return _Author
  End get
  Set
     ....
  End Set
End Property
End Class

属性を使用できます:

  

tableBaseClass = <!> quot; RepositoryRecord <!> quot;

これが遅延読み込みをどのように処理するのかわかりません。 Rob Coneryの投稿詳細については、それについて。

必要なものはバージョン2.xにはありません。テンプレートを編集することで、ほとんどの方法でそこにアクセスできる場合があります(レイジーロードされたプロパティの例はブログ)。もう1つのオプションは、pocoを構築し、SubSonicが生成したクラスとクエリからモデルにマッピングするクラスを構築することです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top