DeleteBehavior Sabit listesi
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir ilişkide sorumlu silindiğinde veya ilişki kesiken bir silme işlemi bağımlı varlıklara nasıl uygulandığını gösterir.
Veritabanındaki davranışlar, uygun şekilde oluşturulan veritabanı şemasına bağlıdır. Geçişler Entity Framework kullanarak EnsureCreated() veya uygun şemayı oluşturacak.
tarafından şu anda tarafından izlenen varlıkların bellek içinde davranışının DbContext veritabanındaki davranıştan farklı olduğunu unutmayın.
public enum DeleteBehavior
type DeleteBehavior =
Public Enum DeleteBehavior
- Devralma
-
DeleteBehavior
Alanlar
| Cascade | 3 | tarafından izlenen varlıklar için DbContext ilgili sorumlu silindiğinde bağımlı varlıklar silinir. Veritabanı modelden Geçişler veya Entity Framework kullanılarak oluşturuldu ise, veritabanındaki davranış, İzli varlıklar için yukarıda açıklanan EnsureCreated() davranışla aynıdır. Özellikle ilişkilerde döngüler varsa, bazı veritabanlarının bu davranışı kolayca destekleyemeceğini unutmayın. Bu durumda, veritabanı bunu desteklemese bile EF'nin yüklü varlıklarda basamaklı silme işlemleri gerçekleştirmesine olanak sağlayacak şekilde kullanmak daha iyi ClientCascade olabilir. Bu, gerekli ilişkiler için varsayılan değerdir. Başka bir ifadeyle, null değere sahip olmayan yabancı anahtarlara sahip ilişkiler için. |
| ClientCascade | 4 | tarafından izlenen varlıklar için DbContext ilgili sorumlu silindiğinde bağımlı varlıklar silinir. Veritabanı modelden Entity Framework Migrations veya yöntemi kullanılarak oluşturulmuşsa, veritabanındaki davranış yabancı anahtar kısıtlaması ihlal edildiyse bir hata EnsureCreated() oluşturmaktır. |
| ClientNoAction | 6 | Not: Bu değerin kullanımı olağan dışıdır. Bunun yerine ClientSetNull EF6'nın davranışını basamaklı silmeler devre dışı bırakarak eşleyebilirsiniz. tarafından izlenen varlıklar için, bağımlı varlıklarda yabancı anahtar özelliklerinin değerleri ilgili asıl DbContext varlık silindiğinde değişmez. Bu, yabancı anahtar özelliklerinin değerlerinin grafikte ilişkilerle eşleşmez olduğu tutarsız bir varlık grafı ile sonuçlandırabilirsiniz. Veritabanı modelden Entity Framework Migrations veya yöntemi kullanılarak oluşturulmuşsa, veritabanındaki davranış yabancı anahtar kısıtlaması ihlal edildiyse bir hata EnsureCreated() oluşturmaktır. |
| ClientSetNull | 0 | tarafından izilen varlıklar için, bağımlı varlıklarda yabancı anahtar özelliklerinin değerleri, ilgili sorumlu DbContext silindiğinde null olarak ayarlanır. Bu, varlıkların grafiğini izlenirken tutarlı bir durumda tutmanıza yardımcı olur; böylece veritabanına tam olarak tutarlı bir grafik yazabilirsiniz. Bir özellik null değer atılabilir bir tür olduğundan null olarak ayarlanmazsa, çağrıldıkta bir özel SaveChanges() durum oluşturur. Veritabanı modelden Entity Framework Migrations veya yöntemi kullanılarak oluşturulmuşsa, veritabanındaki davranış yabancı anahtar kısıtlaması ihlal edildiyse bir hata EnsureCreated() oluşturmaktır. Bu, isteğe bağlı ilişkiler için varsayılan değerdir. Başka bir ifadeyle, null değere sahip yabancı anahtarlara sahip ilişkiler için. |
| NoAction | 5 | tarafından izilen varlıklar için, bağımlı varlıklarda yabancı anahtar özelliklerinin değerleri, ilgili sorumlu DbContext silindiğinde null olarak ayarlanır. Bu, varlıkların grafiğini izlenirken tutarlı bir durumda tutmanıza yardımcı olur; böylece veritabanına tam olarak tutarlı bir grafik yazabilirsiniz. Bir özellik null değer atılabilir bir tür olduğundan null olarak ayarlanmazsa, çağrıldıkta bir özel SaveChanges() durum oluşturur. Veritabanı modelden Entity Framework Migrations veya yöntemi kullanılarak oluşturulmuşsa, veritabanındaki davranış yabancı anahtar kısıtlaması ihlal edildiyse bir hata EnsureCreated() oluşturmaktır. |
| Restrict | 1 | tarafından izilen varlıklar için, bağımlı varlıklarda yabancı anahtar özelliklerinin değerleri, ilgili sorumlu DbContext silindiğinde null olarak ayarlanır. Bu, varlıkların grafiğini izlenirken tutarlı bir durumda tutmanıza yardımcı olur; böylece veritabanına tam olarak tutarlı bir grafik yazabilirsiniz. Bir özellik null değer atılabilir bir tür olduğundan null olarak ayarlanmazsa, çağrıldıkta bir özel SaveChanges() durum oluşturur. Veritabanı modelden Entity Framework Migrations veya yöntemi kullanılarak oluşturulmuşsa, veritabanındaki davranış yabancı anahtar kısıtlaması ihlal edildiyse bir hata EnsureCreated() oluşturmaktır. |
| SetNull | 2 | tarafından izilen varlıklar için, bağımlı varlıklarda yabancı anahtar özelliklerinin değerleri, ilgili sorumlu DbContext silindiğinde null olarak ayarlanır. Bu, varlıkların grafiğini izlenirken tutarlı bir durumda tutmanıza yardımcı olur; böylece veritabanına tam olarak tutarlı bir grafik yazabilirsiniz. Bir özellik null değer atılabilir bir tür olduğundan null olarak ayarlanmazsa, çağrıldıkta bir özel SaveChanges() durum oluşturur. Veritabanı modelden Geçişler veya Entity Framework kullanılarak oluşturuldu ise, veritabanındaki davranış, İzli varlıklar için yukarıda açıklanan EnsureCreated() davranışla aynıdır. Özellikle ilişkilerde döngüler varsa, bazı veritabanlarının bu davranışı kolayca destekleyemeceğini unutmayın. Bu durumda, veritabanı bunu desteklemese bile EF'nin yüklenen varlıklarda null değerleri basamaklamasını sağlayacak şekilde kullanmak daha iyi ClientSetNull olabilir. |
Açıklamalar
Daha fazla bilgi için bkz. EF Core silme ve silme.