Я думаю, что проблема с select new {c.TaxRate}
частью следующей строки
List<SalesTaxRate> salesTaxRateList = (from c in context.SalesTaxRates
select new {c.TaxRate })
.ToList<SalesTaxRate>();
SalesTaxRate
Для каждого объекта в context.SalesTaxRates
, это создает объект с anonymous type. Этот анонимный тип имеет одно свойство TaxRate
, тип которого является типом имущества TaxRate
. Вы получаете ошибку компилятора, потому что компилятор C# не может понять, как конвертировать экземпляры этого анонимного типа в SalesTaxRate
.
Вы не показали, как определяется SalesTaxRates
. Мне кажется, что это Entity Framework EntitySet - не так ли? Если это так, имена наборов объектов часто являются множественными именами объекта. Итак, я ожидал бы, что SalesTaxRates
будет представлять собой коллекцию SalesTaxRate
объектов. Если это так, то код, который вы хотите,
List<SalesTaxRate> salesTaxRateList = context.SalesTaxRates.ToList();
Однако, если вы действительно хотите получить список значений TaxRate
свойств ваших SalesTaxRate
объектов, является то, что кажется ваш код пытается достичь , то просто избавиться от анонимного типа:.
List<SalesTaxRate> salesTaxRateList = (from c in context.SalesTaxRates
select c.TaxRate)
.ToList();
(если я не понял, это будет означать, что ваши SalesTaxRate
объекты context.SalesTaxRates
имеют свойство с именем TaxRate
, а также типа SalesTaxRate
не имеют определение вашего SalesTaxRate
так что я не могу сказать, является ли это верно.)
Вы действительно должны уточнить, что происходит, возможно, показать код, вызывающий эту ошибку. – greedybuddha
вот код, когда я выбираю new.I получил сообщение об ошибке ay .ToList –
Спасибо, я не могу ответить на это, но это должно помочь кому-то посмотреть, что происходит :) – greedybuddha