下面的LINQ有幾個Convert.ToInt32
方法。但它不起作用。參考互聯網,它使用int.Parse
而不是轉換。仍然給出錯誤。請告訴我一個方向來做到這一點。使用LINQ轉換爲Int
在下面查詢tody
的數據類型是DateTime
var ds = (from a in dbSetInvHeader
join b in dbSetCustomer on a.BusinessEntityID equals b.Id
join c in dbSetFinancialInfo on b.Id equals c.Id
where (a.TotalAmount - a.AppliedAmount - a.ApplyToInvoiceCreditAmount) > 0
&& DbFunctions.AddDays(a.InvoiceDate, Convert.ToInt32(c.CreditPeriod)) >= tody
select new OverDueInvoices
{
CustomerName = b.Name,
InvoiceNo = a.InvoiceNo,
InvoiceAmount = a.TotalAmount - a.ApplyToInvoiceCreditAmount,
DueAmount = (a.TotalAmount - a.AppliedAmount - a.ApplyToInvoiceCreditAmount),
CreditAmount = a.ApplyToInvoiceCreditAmount,
NoOfDays = Convert.ToInt32(DbFunctions.DiffDays(tody, a.InvoiceDate))
}).ToList();
更新:
的代碼使用實體框架上面LINQ引發錯誤:
當使用Convert.ToInt32
:
「LINQ to Entities不識別方法'Int32 ToInt32(System.Decimal)'方法,並且此方法不能轉換爲存儲表達式。」
當使用int.Parse
:
「LINQ實體無法識別方法‘的Int32解析(System.String)’方法,和這種方法不能被翻譯成表達店」。
什麼是多數民衆贊成拋出的錯誤? –
嘗試[EntityFunctions](https://msdn.microsoft.com/en-us/library/system.data.objects.entityfunctions(v = vs.110).aspx)? –
我在「UPDATE 1」中添加了更多詳細信息 – weeraa