C# 4.0
Una delle possibili cause di questa eccezione è quella di inserire direttamente nella lambda expression della clausola Where un oggetto var. Per ovviare questo quindi basta assegnare il suo valore ad una variabile.
if (!string.IsNullOrEmpty(typeCode))
{
// Recupero del tipo base della promozione.
var queryType = from pt in orangeRepositoryEntities.PromotionType
where pt.Code.Equals(typeCode)
select pt.BasePromotionType;
query = query.Where(p => p.PromotionType.Contains(queryType.First()));
string basePromotionType = queryType.First();
query = query.Where(p => p.PromotionType.Contains(basePromotionType));
}
if (!string.IsNullOrEmpty(code))
query = query.Where(p => p.Code.Contains(code));
if (!string.IsNullOrEmpty(salesDriveCode))
query = query.Where(p => p.SalesDriveCode.Contains(salesDriveCode));
query = query.Where(p => p.StartValidity >= fromStartValidity.Date && p.StartValidity <= toStartDate);
query = query.Where(p => p.StopValidity >= fromStopValidity.Date && p.StopValidity <= toStopDate);
foreach (var promotion in query)
{
…
}
Nessun commento:
Posta un commento