簡體   English   中英

如何使用實體框架中的Enum替換Int屬性?

[英]How do I replace an Int property with an Enum in Entity Framework?

我有一個實體類,其屬性具有數據類型為Int的基礎db列,但實際上我希望此屬性為Enum。 有沒有辦法指定此屬性返回枚舉?

間接地,像這樣

就個人而言,我將存儲int保留為public(例如,作為DbFoo ,其中枚舉屬性為Foo ) - 這樣我仍然可以對列執行lambdas以便在DB上執行,例如:

where row.DbFoo == SomeConstant

如果您不公開存儲值,則不能干凈利落地執行此操作。 你可以同樣把它留在內部,並在上下文中有一些方法來進行過濾......這是我今天早些時候寫的一個:

public IOrderedQueryable<User> Administrators
{
    get { return Users.Where(x => x.DbUserType == User.UserTypeAdmin)
             .OrderBy(x => x.Name);
}

User.UserTypeAdmin是我的內部常量。 在這種情況下,我無法使用受歧視的子類,因為它干擾了ADO.NET數據服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM