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列提供默认值?
谢谢