次の LINQ クエリがあります。
//myRepository.GetClients(); returns an IQueriable<>
var AllClients = myRepository.GetClients();
var ClientReports = from c in FirmECFIs
select new ClientReport
{
FirmSerialNumber = c.SerialNumber,
FirmName = c.Name,
Year = c.Year,
Month = c.Month,
CustID = c.CustID,
TotalCount =myRepository.GetCount(c.SerialNumber, billingYear, billingMonth),
TotalPrice = "0"
};
「... SQL への変換がサポートされていません」というエラーが表示されます。TotalCount 列からメソッド呼び出しを削除し、静的な値を割り当てると正常に動作します。どうやら LINQ はメソッド呼び出しを tSQL に変換できません。
誰でもこれで私を助けることができますか?
ありがとう
GetCount() メソッドのソース:
public int GetCount(int SerialNumber, string billingYear, string billingMonth)
{
var Count = CreateDataContext().myView.Where(c => c.SerialNumber == SerialNumber)
.Where(c => c.Year == Convert.ToInt32(billingYear)).Where(c => c.Month == Convert.ToInt32(billingMonth));
return Count.ToList().Count;