gpt4 book ai didi

c# - 如何在 Entity Framework 中用 Enum 替换 Int 属性?

转载 作者:可可西里 更新时间:2023-11-01 08:45:22 25 4
gpt4 key购买 nike

我有一个实体类,它的属性具有 Int 数据类型的基础 db 列,但实际上我希望这个属性是一个枚举。有什么方法可以指定此属性返回一个枚举吗?

最佳答案

间接地,如so .

就个人而言,我将存储 int 保留为公共(public)(例如作为 DbFoo,其中枚举属性为 Foo)——这样我仍然可以针对列编写 lambda 表达式在数据库执行,例如:

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 数据服务。

关于c# - 如何在 Entity Framework 中用 Enum 替换 Int 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/353190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com