1
私の質問は、私が持っている列挙フラグのために動作していないと思います。EnumフラグをEF 6.1.3で使用する方法?
[Flags]
public enum Permissions
{
None = 0,
Read = 1,
Write = 2,
Delete = 4,
Full = 8
}
dbContext.UserStorages.FirstOrDefault(x => x.Permission.HasFlag(Permissions.Write));
私のSQLデータベースでは、列は「int」列です。私がパーミッションに変更した場合、現在は「8」の値を持っています。完全に、私はレコードを取り戻します。
いいえEFはHasFlagをSQLに変換しません。あなたは自分自身でそれを行う必要があります。myFlag = None | myFlagを読み取ってfirstOrDefaultに渡します。 –
ビット演算子を使用することはできますが、それらは変換されます(例えば 'x =>(x.Permission&Permissions.Write)!= 0') – Pawel