给定下表:
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
值AccountType.None
then 写入数据库时它会尝试插入 a 0
(这是有道理的),但是由于我们对表有外键限制,所以会引发异常。我们需要插入 null 或引用表中存在的值。
我的问题是:NHibernate 是否可以这样说:“如果我的枚举没有设置,那么将 null 写入该列的数据库?”