我有兩個表FilesystemEntries和CacheEntry,其中每個FilesystemEntry有一個0..1 CacheEntry的關聯(即FilesystemEntry可以有一個空的CacheEntry,但反之亦然) 。最初,所有FilesystemEntries的CacheEntry都是null。我無法改變這個(添加一個新的CacheEntry)。代碼(截)看起來是這樣的:實體框架:插入與另一個實體關聯的新實體
FilesystemEntry filesystemEntry; // Already exists in database
CacheEntry cacheEntry; // A new one is created
// ...
filesystemEntry.CacheEntry = cacheEntry; // Was null before (verified in debugger)
cacheEntry.FilesystemEntry = filesystemEntry;
_db.AddToCacheEntries(cacheEntry);
不過,我recieving以下錯誤:
System.Data.UpdateException: A relationship is being added or deleted from an
AssociationSet 'FK_CacheEntries_0'. With cardinality constraints, a corresponding
'CacheEntries' must also be added or deleted.
任何實體框架嚮導知道這是怎麼回事?
同樣,有沒有辦法讓數據庫來處理「ON DELETE CASCADE」(我正在使用sqlite,所以它會通過觸發器)?與指定DAL中的所有刪除操作相比,這將更加方便和麪向未來。
真棒的感謝! – 2009-12-06 00:22:04