以下のコードは機能しています.. CustomView はエラーなしで埋められます。
カスタムビュー
public static ProductView CustomView(Product data)
{
var view = new ProductView();
view.ID = data.ID;
view.Number = data.Number;
var invetoryCount = GetInvetoryCountNumber(data.Number);
if (invetoryCount < 1)
view.SoldOut = true;
return view;
}
関数
public static List<ProductView> GetAll()
{
using (var ctx = new DBSolutionEntities())
{
var data = ctx.Products.OrderBy(p => p.Name).ToList();
return data.Select(CustomView).ToList();
}
}
在庫検索をスキップする関数に追加のパラメーターを追加したい
CustomView - 追加されたブール
public static ProductView CustomView(Product data, bool skipInvCheck)
{
var view = new ProductView();
view.ID = data.ID;
view.Number = data.Number;
if(skipInvCheck)
{
var invetoryCount = GetInvetoryCountNumber(data.Number);
if (invetoryCount < 1)
view.SoldOut = true;
}
return view;
}
bool param を CustomView に追加して呼び出すと、
public static List<ProductView> GetWithoutInvSoldOut()
{
using (var ctx = new DBSolutionEntities())
{
var data = ctx.Products.OrderBy(p => p.Name).ToList();
return data.Select(CustomView, false).ToList();
}
}
次のエラーが表示されます。
メソッド 'System.Linq.Enumerable.Select(System.Collections.Generic.IEnumerable, System.Func)' の型引数は、使用法から推測できません。型引数を明示的に指定してみてください。
パラメータを渡すときに、塗りつぶされたビューを返す data.Select(CustomView, false).ToList() を呼び出すにはどうすればよいですか?
ps 1 つのレコード ( .ToList ではない) を取得する場合、CustomView は return CustomView(data, false); によって機能します。