После запуска запроса у меня есть следующее сообщение об ошибке:член LINQ не поддерживается перевод на SQL
System.NotSupportedException : The member 'Application.Product.IsValid' has no supported translation to SQL.
Что плохого в следующем запросе?
Часть продукта класса:
public Boolean IsValid
{
get { return this.isValid; }
set
{
isValid = value;
}
}
У меня есть запрос следующим образом:
Table<Product> Producttable = dataContext.GetTable<Product>();
Table<ClientProduct> ClientProducttable = dataContext.GetTable<ClientProduct>();
var query =
from product in Producttable where product.IsValid == true
join clientProduct in ClientProducttable
on product.ID equals clientProduct.ProductID
where clientProduct.ClientID == clientID
orderby product.Name ascending
select product;
я получаю ту же ошибку, если я
Table<Product> table = dataContext.GetTable<Product>();
IQueryable<Product> query =
from row in table
where row.IsValid == false
select row;
return query.ToList<Product>();
Попробуйте изменить 'где product.isValid == true' с' где product.Isvalid == true'. (вы ссылаетесь на поле, теперь вы ссылаетесь на свойство). – AgentFire
Isvalid или IsValid? – Vasiliy
В качестве побочного примечания вы можете использовать ярлык свойств, чтобы сохранить объявление поля поддержки, так как вы используете getter, а setter не делает ничего экзотического: 'prop bool IsValid {get; задавать; }; ' –