У меня есть проблема возвращающегося некоторые данные в моем приложении, используя следующий код C#Не может неявно преобразовать тип «System.Linq.IQueryable <AnonymousType # 2>» на «System.Linq.IQueryable <WhiteBoardApp.Models.BrokerOutright>
[Queryable(AllowedQueryOptions = System.Web.Http.OData.Query.AllowedQueryOptions.Select)]
public override IQueryable<BrokerOutright> Get()
{
return db.BrokerOutrights.Where(b => b.BidBroker == User.Identity.Name
|| b.OfferBroker == User.Identity.Name)
.Select(x => new
{
x.Id,
x.Product,
x.Term,
(x.AskB=='dev')?x.AskB:null,
(x.AskB=='dev')?x.AVol:null
}
);
}
Приведенный выше код бросил меня следующее исключение
не может неявно преобразовать тип 'System.Linq.IQueryable' в «System.Linq.IQueryable
Могу ли я узнать хорошее явное преобразование?
Почему преобразовать в новый тип вообще? Если вы выбираете из 'db.BrokerOutrights', то, вероятно, вы уже выбираете нужный тип? Просто полностью удалите предложение '.Select()'. – David
Я хотел бы использовать некоторые сравнения в предложении select, и именно по этой причине я включил .Select() – DoIt
Не совсем понятно, что вы имеете в виду, у вас есть пример этого? Поскольку код, который вы показали, не представляет необходимости. .Select(). – David