Если я напишу
var v = (from r in stock.ReplacementLog
select new
{
AssetId = stock.AssetId,
Date = stock.ReferDate,
FactType = r.Key,
Value = r.Value
});
Работает нормально ...
Но если я сделаю
IEnumerable<StockAsset> v = (from r in stock.ReplacementLog
select new {
AssetId = stock.AssetId,
Date = stock.ReferDate,
FactType = r.Key,
Value = r.Value });
Я получаю ошибку:
Невозможно неявно преобразовать тип 'System.Collections.Generic.IEnumerable' в 'System.Collections.Generic.IEnumerable'. Существует явное преобразование (вам не хватает приведения?)
Тогда я сделал
IEnumerable<StockAsset> v =
(
from r in stock.ReplacementLog
select new
{
AssetId = stock.AssetId,
Date = stock.ReferDate,
FactType = r.Key,
Value = r.Value
}).ToList<StockAsset>();
Со следующей связкой ошибок:
Ошибка 1 Аргумент экземпляра: невозможно преобразовать из 'System.Collections.Generic.IEnumerable' в 'System.Collections.Generic.IEnumerable'
Ошибка 2 'System.Collections.Generic.IEnumerable' не содержит определения для 'ToList' и наилучшей перегрузки метода расширения 'System.Linq.Enumerable.ToList (System.Collections.Generic.IEnumerable)' имеет несколько неверных аргументов
Тогда я попробовал с
IEnumerable<StockAsset> v1 =
(from r in stock.ReplacementLog
select new StockAsset
{
AssetId = stock.AssetId,
ReferDate= stock.ReferDate,
FactType = r.Key,
Value = r.Value
});
с ошибками:
Ошибка 1
StockAsset не содержит определения для FactType
**Error 2
'StockAsset' does not contain a definition for Value'**
Класс StockAsset соответствует
public class StockAsset
{
public int AssetId { get; set; }
public DateTime ReferDate {get;set;}
public Dictionary<EnumFactorType, double> ReplacementLog { get; set; }
}
Нужна помощь.
Использование C # 3.0
Спасибо