Bir Ordinal sütunu olan bir tabloda benzersiz bir dizin içeren bir tablom var. örneğin tablo şu sütunlar bulunur Yani:DbContext SaveChanges İfadenin Sırası Yürütme
Sıra
tableId, ID1, ID2, benzersiz dizin sütunları ID1, ID2, Sıra karşısındadır.
Elimde olan problem, bir kaydı veritabanından silerken sıraları tekrar sıralamak için tekrar sıralarımdır. Benim silme fonksiyonu aşağıdaki gibi görünecektir:
public void Delete(int id)
{
var tableObject = Context.TableObject.Find(id);
Context.TableObject.Remove(tableObject);
ResequenceOrdinalsAfterDelete(tableObject);
}
sorunu olduğunu ben Context.SaveChanges() onlar geçirildi farklı bir sırayla ifade işlemeye göründüğü gibi benzersiz bir dizin kırar çağırdığınızda. Örneğin şu olur:
- Sıra
- rekor
yerine Sil Resequence:
Bu EF'in doğru davranışı mı? Ve eğer öyleyse, yürütme sırasını zorlamak için bu davranışı geçersiz kılacak bir yol var mı? Ben düzgün açıkladım olmadıysanız
, komutların
Merhaba Cevabınız için teşekkürler! Bunu daha önce bir veritabanıyla ve kokladığınızı söylediniz. Kod korkunç ve bir acıydı, artı bu sadece bir yönetici bölümünden erişilebilir olacak ve küçük miktarlarda değişecektir. Alışkanlıkların yeniden düzenlenmesi için ana sebep, yönetim kullanıcılarının siparişi çeşitli tablolarda ayarlayabilmeleri ve boşluklar gördüğünde seçici veya karışık olmalarıdır ... EF'in sağladığınız sırayla yürütmediği bir bummer. – didiHamman