2011-02-09 5 views
1

nhibはちょうど私が楽しんでいない大きなメモリフットプリントを持っているようですが、サブソニック(おそらく単純なレポジトリ)がどのように対処しているかチェックしたいと思います:ポーコクラスの拡張メソッドは亜音速でですか?

  • データベースに余分なフィールドを追加する:現時点では、私は非常にクールなデータベースのフィールドに辞書の値をマップすることができます、これは亜音速で可能ですか? (または類似のもの)

    FWIW:DynamicComponent(x => x.PropertyBag、GetDynamicComponentPart);ここで、propertybagは辞書です。

  • 多くの多の関係に

  • カスケードは、XMLまたはvarchar(max)のカラム(明らかXMLにそれをseralize)
+0

(それほど30分間です:) – Paul

+0

30分?あなたのタイトルにあなたの質問は全く反映されません。 –

+0

私はごめんなさい。タイトルから幾分拡張された私のポストソートは、より良いものを考えることができません。 – Paul

答えて

2
* adding extra fields to a database: at the moment I can map a 
に複雑なオブジェクトのマッピング
  • を削除/保存し

    データベースのフィールドへのディクショナリ値は非常に涼しいですが、この は亜音速で可能ですか? (?または類似のもの )

    FWIW: DynamicComponent(x => x.PropertyBag, 
    

    GetDynamicComponentPart)。 where propertybagは辞書です。

  • フィールドの追加はかなり簡単です。フィールドをテーブルに追加してから、T4テンプレートからクラスを再生成してください。

    基本的なプリミティブ型以外のマッピングはありません。確かにフィールドの辞書ではありません。

    * many to many relationships 
    

    あなたは多対多のテーブルのサポートの任意の並べ替えを取得するために、T4テンプレートにカスタム変更を加える必要があります。 SubSonicは他のテーブルと同様に扱います。

    私はこのような変更を行っており、有用性は限られています。唯一のRDBMS側の

    * cascading saves/deletes 
    

    。つまり、カスケードと外部キーの関係を設定する場合です。 SubSonicはこれをしません。明らかに、XMLへ

    * mapping a complex object to an xml or varchar(max) column (seralize 
    

    それは)

    いいえ。このようなサポートはありません。独自の型変換器を挿入する拡張性のフックはありません。

    サブソニックはNHibernateとは全く異なる分野です。私はNHibにORMを呼びますが、私はSubSonicと呼んでいません。 SubSonicの著者Rob Coneryは、それをクエリツールと呼んでいます。

    非常に単純です。目標と強度(弱点と同様)です。これは、強く型付けされた方法でクエリと変更を支援します。それは、NHibやEntity Frameworkに比べて膨大な量の機能と構成可能性/拡張性が欠けています。

    特にNHibernateに実装されている機能があればNHibからSSへの移行には注意が必要です。 SSは悪いツールではありませんが、多くの制限があります。

    +0

    おかげさまで、SSは私のためには適切ではないようです。なぜ、nhibがそれほど多くの量のメモリを食べるのか、それを最小限に抑える方法があるのです。 Ta! – Paul