CREATE TABLE Lodging
(
LodgingID int PRIMARY KEY IDENTITY,
LodgingName nvarchar(100),
IsResort bit NOT NULL,
ResortChainOwner nvarchar(100) NOT NULL,
...
)
LodgingLodgingDB テーブルはエンティティにマップされます。次に、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();
ResortChainOwnerでは、挿入時にEFに列のデフォルト値を強制的に提供させるにはどうすればよいですか?
ありがとうございました