0

我想建立一个查询来计算数据库中有多少元素有一定的枚举值我使用这个查询

Grower = db.Sites.Count(x => x.Categories == SiteCategories.Grower && x.Status == EntityStatus.Default)

但它不正确,有人可以帮忙吗?

4

2 回答 2

1

在 Entity Framework 中,枚举可以具有以下基础类型:Byte、Int16、Int32、Int64 或 SByte。

看一看:实体框架中的枚举支持

这意味着您将需要使用 int 值来搜索数据库,除非您以某种方式保存文本,因此您需要使用SiteCategories.Grower.ToString()

于 2013-05-22T10:52:58.840 回答
0

如果数据库中的值是字符串,则需要调用.ToString()枚举来比较它 - 否则它将比较值。

 var myCount = db.Sites.Count(x => x.Categories == SiteCategories.Grower.ToString() && x.Status == EntityStatus.Default);
于 2013-05-22T10:50:53.247 回答