1
コンポジットキーを持つテーブルがあり、その一部はIDフィールドです。 Identityフィールドは、識別情報が複製される場所が1000を超えるため、後で明確に追加されました。したがって、一意性を提供するために複合キーの第2部分に依存しています。FluentNHibernateを使用したコンポジットキーのIDフィールド
CREATE TABLE [dbo].[tblSaveCommissions](
[SaveTransID] [int] NOT NULL,
[CommID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[AccountNumber] [varchar](40) NULL,
... (extra fields)
CONSTRAINT [PK_tblSaveCommissions] PRIMARY KEY CLUSTERED
(
[SaveTransID] ASC,
[CommID] ASC)
)
FluentNHibernateマッピングは次のようになります(省略):ここでは、テーブルの宣言である
System.Data.SqlClient.SqlException : Cannot insert explicit value for identity column in table 'tblSaveCommissions' when IDENTITY_INSERT is set to OFF.
:今、私はレコードを挿入しようとすると、
public class SaveCommissionMap : ClassMap<SaveCommissionEntity>
{
public SaveCommissionMap()
{
Table("tblSaveCommissions");
CompositeId()
.KeyProperty(x => x.Id, "CommID")
.KeyProperty(x => x.SaveTransactionId, "SaveTransId");
Map(x => x.AccountNumber);
References(x => x.SaveTransaction)
.Column("SaveTransId").Not.Insert().Not.Update();
}
、私は次のエラーを取得します
この作業を行うためにマッピングをどのように動作させることができますか?