2011-12-13 5 views
1

私は自分のテーブルにコンポジットキーを持っており、その一部はシーケンスで生成する必要があります。
私は次のことを試してみましたが、それは動作しません - シーケンス名を設定する行は、次の複合キー宣言によって上書きされるようだ:シーケンス付きコンポジットキー

mapping.Id(x => x.Id).GeneratedBy.SequenceIdentity("SQ_TRANSFORM_ITEMDEL_IDDID"); 
mapping.CompositeId().KeyProperty(x => x.Id, "ITEMDELIVERYDETAIL_ID") 
        .KeyReference(x => x.ItemDelivery, "ITEMDELIVERY_ID", 
                 "PARTITIONDATE"); 

をその問題を解決する方法は?

+0

は、デフォルト値のシーケンスですか、最初にシーケンス値を選択する必要がありますか?そして、イドだけではユニークではないのですか? – Firo

+0

シーケンスの文脈で「デフォルト値」をどういう意味ですか? IDはシーケンスによって生成されるため、一意である。パーティションの日付はテーブルのパーティション化のためにキーの一部です... –

答えて

0

CompositeIdにItemDeliveryをマップしないでくださいが、参考として他のquestionの回答を参照してください。全体的にずっと簡単です。

+0

'ItemDeliveryDetail'を参照している他のテーブルが参照用にのみIDを使用できるため、これは機能しません。しかし、スピードの理由から、「PARTITIONDATE」も必要です。 –

関連する問題