実行時にDTO(製品)を変換するProductViewModelがあります。
public class ProductViewModel : IViewModel {
public ProductViewModel() {
Categories = new List<CategoryViewModel>();
}
#region DTO Helpers
public ProductViewModel(Product p) {
this.ID = p.ID;
this.Name = p.Name;
this.Price = p.Price;
Categories = new List<CategoryViewModel>();
}
#endregion
public int ID { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public IEnumerable<CategoryViewModel> Categories { get; set; }
}
私は以前にこのコードをLINQ2SQLで使用しましたが、機能しましたが、現在はエンティティフレームワークでは機能しません。
var products = (from p in db.GetAll()
select new ProductViewModel(p));
このエラーが発生します:
Only parameterless constructors and initializers are supported in LINQ to Entities
誰かがこれを説明/修正するのを手伝ってもらえますか?