Ok Tôi có những điều sau đây, thiết lập và làm việc tuyệt vời. Những dòng mã này nên thực hiện chuyển đổi từ thực thể DAL (Subsonic) sang ViewModel.Vòng lặp để chuyển đổi LINQ -
IList<ProductOptionModel> OptionsRetData = new List<ProductOptionModel>();
foreach (var CurProductOption in this.ProductOptions)
{
OptionsRetData.Add(CurProductOption.ToDataModel());
}
returnData.Options = OptionsRetData.AsEnumerable();
Tôi muốn chuyển đổi điều này thành chỉ số dòng đơn LINQ và đưa ra những điều sau đây.
returnData.Options = this.ProductOptions.Select(o => o.ToDataModel());
và tôi nhận được lỗi sau.
Server Error in '/' Application.
Sequence contains no matching element
Vậy tại sao stat đầu tiên hoạt động chứ không phải LINQ và tôi có thể thực hiện các bước nào để giải quyết.
Stack Trace
tại System.Linq.Enumerable.First [TSource] (IEnumerable
1 source, Func
2 vị ngữ) tại SubSonic.Extensions.Database.Load [T] (IDataReader RDR, T mục, danh sách1 ColumnNames) at SubSonic.Extensions.Database.ToEnumerable[T](IDataReader rdr, List
1 COLUMNNAMES) tại SubSonic.Linq.Structure.DbQueryProvider.Execute [T] (QueryCommand1 query, Object[] paramValues) at lambda_method(Closure) at SubSonic.Linq.Structure.DbQueryProvider.Execute(Expression expression) at SubSonic.Linq.Structure.Query
1.GetEnumerator()
có lẽ đây là để làm với cận âm?
Ngăn xếp cuộc gọi ngoại lệ là gì? – SLaks
Loại trả về của ToDataModel() là gì? –
@Dave Swersky - Loại trả về là ProductOptionModel – LiamB