我想選擇一個SQL表和使用Linq到SQL,實體或對象的列分組(我真的不知道什麼。)我Linq有點新,可以使用一些幫助。代碼結構在我看來是直截了當的。當我不添加GroupBy方法時,它工作正常。順便說一下JT_Temp是一個實體模型。當我在下面運行我的代碼時,它會發生異常:無法從數據庫表中選擇記錄與分組使用Linq
實體或複雜類型'JT_Temp'不能在LINQ to Entities查詢中構造。
我試過this和各種計算器的解決方案,但他們似乎並沒有解決和適用於我的情況。
這裏是我當前的代碼:
//Goal:
//SELECT EnvelopeCode, Branch_COA, AQ_COA, AQ_Branch, SUM(Amount), AQ_PostStatus FROM JT_Temp
//GROUP BY EnvelopeCode, Branch_COA, AQ_COA, AQ_Branch, AQ_PostStatus
//var csvFilteredRecord = Context.JT_Temp.SqlQuery("SELECT * FROM JT_Temp").ToList<JT_Temp>();
// GROUP BY -- No go; Manual SELECT -- No go;
try
{
var csvFilteredRecord = (
from c in Context.JT_Temp
group c by new
{
c.EnvelopeCode,
c.Branch_COA,
c.AQ_COA,
c.AQ_Branch,
c.AQ_PostStatus
} into i
select new JT_Temp
{
EnvelopeCode = i.Key.EnvelopeCode,
Branch_COA = i.Key.Branch_COA,
AQ_COA = i.Key.AQ_COA,
AQ_Branch = i.Key.AQ_Branch,
//TO-DO SUM(Amount),
AQ_PostStatus = i.Key.AQ_PostStatus
}).ToList();
foreach (var Record in csvFilteredRecord)
{
Console.WriteLine(
Record.EnvelopeCode
+ Record.Branch_COA
+ Record.AQ_COA
//+ Record.Amount
+ Record.AQ_PostStatus
);
}
}
catch (Exception e)
{
Console.WriteLine("---------- " + e.Message);
Console.ReadLine();
}
你看任何的LINQ的例子在MSDN [C#MSDN的LINQ GroupBy](https://msdn.microsoft.com/en-us/library/bb545971.aspx) – MethodMan