我使用 LINQ 動態查詢庫 https://weblogs.asp.net/scottgu/dynamic-linq-part-1-using-the-linq-dynamic-query-library 它非常適合查詢查詢欄位
IQueryable GetSource( DataTable t, String str)
{
//Working str = "new (T[\"ss\"] as ss,T[\"xx\"] as xx )"
//Not Working str = "new (T[\"ss\"] as ss, T[\"xx\"] as xx , T[\"ss\"] T[\"xx\"] as yy)"
return (from T in t.AsEnumerable()
select new{T}).AsQueryable().Select(str);
}
但是當我嘗試諸如(加法-乘法-除法-合并)之類的操作時出錯了如何進行會計操作和合并欄位
uj5u.com熱心網友回復:
您正在使用該DataRow item屬性來獲取欄位的值。此方法回傳一個object您無法添加的值。您需要轉換為正確的型別。
"new (T[\"ss\"] as ss, T[\"xx\"] as xx, int(T[\"ss\"]) int(T[\"xx\"]) as yy)"
uj5u.com熱心網友回復:
謝謝確實,它必須轉換,因為它是物件
IQueryable GetSource( DataTable t, String str)
{
//Working str = "new (T[\"ss\"] as ss,T[\"xx\"] as xx )"
//Working str = "new (T[\"ss\"] as ss,T[\"xx\"] as xx , string.Concat(T[\"ss\"], T[\"xx\"]) as yy )"
//Working str = ""new (T[\"ss\"] as ss,T[\"xx\"] as xx , decimal(T[\"ss\"]) decimal(T[\"xx\"]) as yy )""
return (from T in t.AsEnumerable()
select new{T}).AsQueryable().Select(str);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/434891.html
上一篇:將LINQ查詢轉換為SQL
