次の表があるとします。
create table TypeAccount
(
AccountTypeID int primary key identity(1,1),
[Description] varchar(100) not null
)
create table Account
(
--AccountID char(32) primary key not null,
AccountID int primary key identity(1,1),
AccountName varchar(50),
AccountTypeID int foreign key references TypeAccount(AccountTypeID),
CreateDate datetime
)
次の列挙型の定義が与えられます。
public enum AccountType
{
None = 0,
Savings = 1,
Checking = 2
}
オブジェクトを作成するときにAccount
、デフォルトAccountType
値のthenのままにすると、データベースに書き込むときに(これは理にかなっています)AccountType.None
挿入しようとしますが、テーブルに外部キー制限があるため、例外がスローされます。0
nullまたは参照されるテーブルに存在する値のいずれかを挿入する必要があります。
私の質問は、NHibernateで「列挙型が設定されていない場合は、その列のデータベースにnullを書き込む」などと言うことは可能ですか?