gpt4 book ai didi

c# - linq-To-Sql:使用枚举(标志)进行过滤

转载 作者:太空狗 更新时间:2023-10-30 01:07:54 25 4
gpt4 key购买 nike

我有一个枚举:

[Flags]
public enum EmailType
{
PasswordRecovery = 1,
Activation = 2,
SendTicket = 4
}

例如,在一个表中,我们的值等于 3,这意味着 - PasswordRecoveryActivation。这是我的查询:

var emailType = EmailType.PasswordRecovery;
return Database.EmailSettings.FirstOrDefault(es => es.EmailType == (int)emailType);

当然这个查询不能正常工作:3 == 1 => false。如何正确筛选?
谢谢。

更新:我正在使用 Flags 属性,因为还有一个应用程序是用 XAF(devexpress 框架)编写的,并且我在 UI 中有一项功能需要 Flags 属性。

最佳答案

int emailType = (int)EmailType.PasswordRecovery;
return Database.EmailSettings.FirstOrDefault(es => (es.EmailType & emailType) == emailType);

编辑:我添加了一个转换,因为 es.EmailTypeint

关于c# - linq-To-Sql:使用枚举(标志)进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11115565/

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