CREATE TABLE Lodging
(
LodgingID int PRIMARY KEY IDENTITY,
LodgingName nvarchar(100),
IsResort bit NOT NULL,
ResortChainOwner nvarchar(100) NOT NULL,
...
)
Lodging
数据库表映射到Lodging
实体。然后我实现了 TPH 继承:
• 以Lodging
实体为基础
• 我创建了一个Resort
派生自实体的新Lodging
实体。
• 我将特定于度假村的属性ResortChainOwner
移至Resort
实体类型,并将(在 SSDL 中)ResortChainOwner's
默认值设置为“ notApplicable
”
• 住宿表的IsResort
列是一个区别列。如果IsResort
列包含0
,则记录被具体化为Lodging
实体,如果列包含1
,则记录被具体化为Resort
实体
在以下代码SaveChanges
中调用时,EF 应该(向插入命令)提供ResortChainOwner
字段的默认值,而是提供一个Null
var lodging = new Lodging();
...
context.Lodgings.AddObject(lodging);
context.SaveChanges();
那么如何插入强制 EF 为ResortChainOwner
列提供默认值?
谢谢