есть такой enum:
[Flags]
public enum MessageState
{
New = 0,
Delivered = 1 << 0,
Read = 1 << 1
}
далее я делаю обычный запрос:
var notifications = await _repository
.Query()
.Where(model => DateTimeOffset.Now <= model.ExpiresAt)
.Select( model => new
{
IsDelivered = model.MessageState.HasFlag(MessageState.Delivered),
IsRead = model.MessageState.HasFlag(MessageState.Read),
} )
.ToList();
получаю такую ошибку: Method HasFlag not available to convert to BsonExpression
я туплю и не знаю что делать
а через & не работает?
System.InvalidCastException: Unable to cast object of type 'System.String' to type 'System.Boolean'. надо как-то иначе походу
IsDelivered = model.MessageState & MessageState.Delivered,
а у тебя енумы там не как строки хранятся?
BsonMapper.Global.EnumAsInteger = true;
== MessageState.Delivered еще
Обсуждают сегодня