Я пытаюсь запросить (через LINQ) общий список, и он «действует», как будто некоторые из полей, в которых я «находится», не существует.Почему мой запрос LINQ не распознает членов общего списка?
Вот код:
private decimal GetPriceForMember_Code_Desc_Unit_Week(string member, string itemcode, string desc, string unit, int weeknum)
{
Decimal price = 0.00M;
if (unit == CRAFTWORKS_SC)
{
price = craftworksWeek1PVDSubsetList.Select(x => x.Price)
.Where(x => x.ShortName.Equals(member))
.Where(x => x.Description.Equals(desc))
.Where(x => x.WeekNum.Equals(weeknum))
.Where(x => x.ItemCode.Equals(itemcode));
}
//else if (unit == CHOPHOUSE) TODO: Finish
return price;
}
Это терпит неудачу с "„строки“не содержит определение для„сокращенного“, а метода расширения„сокращенного“принимающей первый аргумент типа„строка“ (вы не можете найти директиву по использованию или ссылку на сборку?) «
По-видимому, что-то не так с моим синтаксисом LINQ, но я не знаю, что. Общий список в коде определен и объявлен следующим образом:
public class PriceVarianceSubsetData
{
public String ShortName { get; set; }
public String ItemCode { get; set; }
public String Description { get; set; } //<= need this, too?
public String Price { get; set; }
public int WeekNum { get; set; }
}
. . .
List<PriceVarianceSubsetData> craftworksWeek1PVDSubsetList = null;
Почему это никаких сомнений по поводу «Цена» еще жалуется на «сокращенным»? Они оба являются членами класса «PriceVarianceSubsetData»
um вы используете .Выберите(), чтобы выбрать только свойство Цена, т. Е. Это единственное свойство. возможно, вам следует переместить .Выбрать в конец запроса вместо – failedprogramming
Переместить 'Выбрать' до конца. –