最初にエンティティ フレームワーク 5 モデルを使用しています。
私のモデルにはいくつかのエンティティがあり、それらのほとんどは、削除および更新時に「アクションなし」の外部キー制約を持つ1対多の関係を持っています。
しかし、エラーなしで父と子のオブジェクトを削除することはできます (EF4 では、オブジェクトを参照している別のオブジェクトがあるため、オブジェクトを削除できないという例外警告が表示されていました)。
最初に EF5 モデルによって生成されたコードの一部:
...
... Create all tables...
...
... Create all foreign key constraints ...
...
-- Creating foreign key on [TEstTela_ID] in table 'TEstPermissao'
ALTER TABLE [dbo].[TEstPermissao]
ADD CONSTRAINT [FK_TEstTelaTEstPermissao]
FOREIGN KEY ([TEstTela_ID])
REFERENCES [dbo].[TEstTela]
([ID])
ON DELETE NO ACTION ON UPDATE NO ACTION;
....
オブジェクト コードの削除:
...
EstContextDB CurrentContext = new EstContextDB(); // inherits from DbContext
CurrentContext.Set<TEstTela>().Remove(currentTEstTelaEntity);
CurrentContext.SaveChanges(); /* Exception should be thrown here
because at least one TEstPermissao object references this
currentTEstTelaEntity but it still delete the object without
errors or exceptions, and plus the TEstPermissao object
that references this currentTEstTelaEntity gets its reference as 'null' */