-1
我想將linq查詢複製到Datatable,但'CopyToDataTable'函數不起作用。如果我使用'select new',則複製到Datatable不起作用
它只適用於我使用ToList()但我不想使用列表,因爲需求。
var result =
(from dr1 in dtTopAllTempOld.AsEnumerable()
from dr2 in dtTopAllTemp.AsEnumerable()
where dr1.Field<string>("EVENT") == dr2.Field<string>("EVENT") && dr1.Field<int>("INST_ID") == dr2.Field<int>("INST_ID")
select new
{
SAMPLE_TIME = dr1.Field<DateTime>("SAMPLE_TIME"),
INST_ID = dr1.Field<int>("INST_ID"),
WAIT_CLASS = dr1.Field<string>("WAIT_CLASS"),
EVENT = dr1.Field<string>("EVENT"),
WAITS = Math.Round((dr2.Field<double>("WAITS") - dr1.Field<double>("WAITS"))/timeTopActivity)
}).CopyToDataTable();
*「不起作用」*?你能夠準確地描述*它如何不工作?它是否編譯?它運行嗎?什麼是「因爲要求」?什麼要求禁止你使用列表?實際代碼術語中「複製到數據表」是什麼意思?有沒有代碼?我們可以看到它嗎? –
查看MoreLinq中的'ToDataTable'擴展方法。示例https://stackoverflow.com/a/42550827/2946329 –
@EdPlunkett不,它不編譯只是拋出一個錯誤'沒有匿名類型到Datarows類型。 –