.NET 6’daki yenilikler [18]: Entity Framework Core’da sütun sırası

Womanne

Member
6.0 sürümünden bu yana Entity Framework Core, tablo oluştururken sütunların sırasını belirleme olanağını tekrar sunar.


Klasik Entity Framework’te, bir veritabanı şemasının gelişmiş tasarımı sırasında sütunların sırasını belirleme olasılığı vardı. 6.0 sürümünden bu yana Entity Framework Core, ek açıklama içeren sütunların sırasını değiştirebilmiştir. [Column(Order=Zahl)] sırasıyla HasColumnOrder() API’de akıcı OnModelCreating() belirtmek için Detayları GitHub’daki ilgili sayıda bulabilirsiniz.

Sıra sayılarının ardışık olması gerekmez:

public class Person
{
[Column(Order = 1)]
public byte ID { get; set; }
[Column(Order = 20)]
public string Name { get; set; }

[Column(Order = 5)]
public string Vorname { get; set; }
}


Oluşturulan veritabanı şemasında, bu nedenle üç sütun sırayla ID, Vorname Ve Name görünmek.

Tüm sütunlara açık bir sıra vermek hiçbir şekilde zorunlu değildir. Açık bir sıralamaya sahip olmayan sütunlar en son sıralanır (GitHub belgelerine bakın: “Açıklama yapılmamış özellikler en sona gider”).

Bir sipariş belirtimi olmadan, veritabanı şemasındaki sütunlar, alfabetik sırada değil, koddaki özelliklerle aynı sırada görünür. Bu arada farklıydı, “EF6’da sütunların sırasını sınıftaki özelliklerin sırasına uydurmaya çalıştık. Sorun şu ki, yansıma farklı mimarilerde farklı bir düzen döndürebilir” gibi uzun başlıklı başka bir problem gibi. belirtmek.

Ancak bilgiler yalnızca orijinal komuttaki özelliklerin sırasını etkiler. CREATE TABLE veya daha sonra ALTER TABLE. Sonraki bir veritabanı şeması geçişinde eklenen sütunlar, her zaman veritabanı tablosunda zaten var olan sütunların arkasında yer alır. Bu bir Entity Framework Core hatası değil, Microsoft’un SQL Server’ının temel bir özelliğidir. Diğer veritabanı yönetim sistemleri, açık sütun sıralaması sunar.


()



Haberin Sonu
 
Üst