2011-02-08 16 views
6

Merhaba Im şu anda .sdf veritabanı (Server Compact Sürüm 4.0) ve sql express ile çalışıyorum. Aynı tabloda (kategori - alt kategori) bir basamaklı silme kurmaya çalışıyorum ama aynı tabloyla ilişki ekleyemiyorum.Cascade Sil, aynı tablo, Varlık Framework 4 Kod İlk

bir yabancı anahtar kısıtlaması vardı ve güncelleme veya silme kaskad üstünlüğü ve aynı tabloda kendinden referanslar bir sütun,

Bu konuda ne yapabilirim

izin verilmez?

EDIT
Bu sorunla uğraşan ben miyim?

cevap

5

SQLException'ın önerdiği gibi, bu genel olarak SQL Server'ın bir sınırlamasıdır ve EF veya Code First ile ilgisi yoktur. Temel olarak, SQL Server İç ilişkiler - basamaklı yolun A tablosundaki sütun col1 sütunu sütun 2'den de A tablosundaki A sütununa geçmesine izin vermez. A-> A.

Aslında, Code ilk cascade siler ve SQL Server atar zorlamak için Declarative Referential Integrity (DRI) kullanmaya çalışıyordu.

Bu ilişki için basamaklı silme işlemlerinin uygulanmasının tek yolu, Tetikleyicileri kullanmaktır. Kategori satırında, bağımlı satırları silen veya karşılık gelen tüm yabancı anahtarları NULL (gereksinimlerinize göre) olarak ayarlayan bir Silme Tetikleyicisi yazabilirsiniz.

İlgili konular