آموزش Entity Framework
بسم الله الرحمن الرحیم
ممکن است شما بخواهید یک enumایجاد کنید و سپس این enum را در دیتابیس ذخیره کنید.برای این کار کافی است کد زیر را Model خود قرار دهید
public DataKind Kind { get; set; }
که در واقع DataKind یک enum است که قبلا به صورت زیر تعریف شده است
namespace Ad.NegCred.Data.Model {
public enum DataKind {
F, //Takibe alınıp henüz tahsil edilmeyen ferdi kredi bildirimi
FA, //Aynı dönemde takibe alınan ve tahsil edilen ferdi kredi bildirimi
FF, //daha önceki dönemlerde takibe alındığı bildirilmiş ferdi kredi tahsil bildirimi
K, //Takibe alınıp henüz tahsil edilmeyan kredi kartı
KA, //Aynı dönemde takibe alınan ve tahsil edilen kredi kartı
KF //Daha önceki dönemlerde takibe alındığı bildirilmiş kredi kartı tahsil bildirimi
}
public class Datum {
[Key]
public long Id { get; set; }
public DataKind Kind { get; set; }
[StringLength(25, MinimumLength = 2)]
public string Name { get; set; }
}
}
حال اگر بخواهیم یک مثال کامل داشته باشیم، کد Model و enum ما به صورت زیر خواهد بود
namespace Ad.NegCred.Data.Model {
public enum DataKind {
F,
FA,
FF,
K,
KA,
KF
}
public class Datum {
[Key]
public long Id { get; set; }
public DataKind Kind { get; set; }
[StringLength(25, MinimumLength = 2)]
public string Name { get; set; }
}
}
حال اگر پروژه را اجرا کنید متوجه خواهید شد که فیلد enum به دیتابیس اضافه نشده است!؟
علت؟
EF 5 و .NET Framework 4 نمی تواند فیلد enum را ایجاد کند زمانی که System.Data.Entity.dll در .NET Framework 4 به وسیله EntityFrameork.dll استفاده می شود این کار صورت نخواهد گرفت برای حل این مشکل می بایست از EF5 و .NET Framework 4.5 با یکدیگر یا EF6 و.NET Framework 4 استفاده کنید که دیگر در اینجا (EF 6) ارتباطی با کامپوننت های داخلی NET Framework. ندارد.