Dapper’da yeniyim ve veritabanı dizgilerini enumlarla eşleştirmenin mümkün olup olmadığını anlamaya çalışıyorum; varsayılan olarak benim için olmaz. Örneğin Dapper: Bir dizgeyi enum'a dönüştürme
, hep varsayılan enum ile bitirmek Bu durumda bu enumpublic enum CustomerType
{
Unknown,
SomeCustomerType,
...
}
ile bu SQL
select customer_type from customers
ve bu sınıfı
public class Customer
{
...
public CustomerType CustomerType { get; set; }
...
}
kullanmak demek Dize değerinin veritabanından eşlenmesi yerine değer (Bilinmeyen).
Bunu nasıl başarabileceğimi bilen var mı?
Düzenleme: Bunun bir sayı alanı ile mümkün olduğunu biliyorum çünkü bir sayı bir numaraya dönüşecek, ancak bu, veritabanı kimliğinin ve enum'un eşzamanlı olarak saklandığından emin olmanın dezavantajına sahip. Ben benzer bir şey arıyorum ama dize ile. Eğer çok çalışması gerekir Mülkünüzde ile aynı ada sahip sütun adı için diğer ad ise
teşekkürler, ama bu cevabı zaten gördüm. Bu gerçekten sadece bir iş. Sahip olduğum her enum mülk için bir gölge mülk yaratmamayı tercih ederim. – johnB
Neden DB'de sayısal bir sütun kullanmıyorsunuz? Onları senkronize tutmak, enum değerlerini (gereksiz olsa bile) değişmeyen değerlerinden korumaktan vazgeçmek kadar kolaydır. Aynı zamanda, bir dizgeden daha tutarlı olmak için daha az israf ve daha kolay. – Alejandro
Büyük bir kod tabanı ve veritabanı ile çalışıyorum bu yüzden çok iş olurdu. Ayrıca senkronizasyondan kurtulursa sessizce başarısız olmanın dezavantajı vardır. – johnB