2011-12-05 9 views
0

トリガシーケンスIDシナリオが、Oracleデータベース上のNHibernate 3.2での疎結合設定でサポートされているかどうかは誰にも分かりません。NHibernate 3.2 | Oracleのトリガー・シーケンスID |極端な設定

私は自分のIDのジェネレータとしてシーケンスとネイティブの両方を試しました。しかし、私のidがOracleのbeforeトリガーによって生成されるシナリオをサポートしていません。

これらの2つのジェネレータでは、NHibernateは「Select Sequence.Next From Dual」の呼び出しを使用してIDをプッシュしようとします。

おかげ フィル

+0

すべての正直なところ、NHのために組み込まれた構成のものはかなり臭いです。あなたは、NH3.1(今のところ私の理解..)を扱うことができる場合は、Fluent NHを見てより良いでしょう –

答えて

3

あなただけIGeneratorDefを実装する必要があります。何かのように:

public class TriggerIdentityGeneratorDef : IGeneratorDef 
{ 
    public string Class 
    { 
     get { return "trigger-identity"; } 
    } 

    public object Params 
    { 
     get { return null; } 
    } 

    public Type DefaultReturnType 
    { 
     get { return typeof (int); } 
    } 

    public bool SupportedAsCollectionElementId 
    { 
     get { return true; } 
    } 
} 
+0

あなたはちょうどその日を救った! –

関連する問題