Önce Entity Framework kod ilkesini kullanıyorum. 100 satır aşmayacak bir tablo var ve ben birincil anahtar olarak byte
(tinyint
SQL Server) datatype kullanmak istiyorum.Birincil anahtar veri türü olarak bayt kullanımı
Bu defa ne var: Varlık Çerçeve veritabanı oluşturduğunda
[Key]
public byte Id { get; set; }
konudur, bu uç üzerindeki otomatik artış satırları verir kimlik şartname özelliğini ayarlayarak değildir.
Ben (SQL Server smallint
) Int16
için veri türünü değiştirmek durumunda her şey mükemmel çalışıyor.
Entity Framework'ü otomatik arttırma özelliğini ayarlamak için bir yol var mı, yoksa ilke olarak Entity Framework koduyla birlikte bir bayt olarak kullanılamaz mı?
Veritabanınızı neden böyle kısıtlıyorsunuz? Sadece birkaç satır varsa, eklenen alan zarar vermez. – delnan
@delnan, evet, neden bir varchar (100) ** ';-)' **. Özellikle PK için en uygun kısıtlayıcı veri türünü seçmelisiniz. Bu PK'yi 50 milyon satırlık bir tabloda FK olarak kullanırsanız ve bir dizin eklediğinizde, bir fark olacaktır. Sütun boyutu, disk alanından daha fazlasını etkiler, sadece önbellek ve önemsiz veri türü seçim hatası için ne kadar harcadığınızı düşünün. Ayrıca, uygulamanız çıldırır ve dışarı veya aralık değeri eklemeye çalışırsa, başarısız olur. –