Linq to DataTable 解決DataSet不支援System.nullable
using System;
using System.Data;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Reflection;
using System.Linq;
using System.Xml.Linq;
namespace UserFunction
{
/// <summary>
/// Summary description for LinqToDataTable
/// </summary>
static public class LinqToDataTable
{
static public DataTable ToDataTable<T>(this IEnumerable<T> varlist, CreateRowDelegate<T> fn)
{
DataTable dtReturn = new DataTable();
// column names
PropertyInfo[] oProps = null;
// Could add a check to verify that there is an element 0
foreach (T rec in varlist)
{
// Use reflection to get property names, to create table, Only first time, others will follow
if (oProps == null)
{
oProps = ((Type)rec.GetType()).GetProperties();
foreach (PropertyInfo pi in oProps)
{
Type colType = pi.PropertyType; if ((colType.IsGenericType) && (colType.GetGenericTypeDefinition() == typeof(Nullable<>)))
{
colType = colType.GetGenericArguments()[0];
}
dtReturn.Columns.Add(new DataColumn(pi.Name, colType));
}
}
DataRow dr = dtReturn.NewRow(); foreach (PropertyInfo pi in oProps)
{
dr[pi.Name] = pi.GetValue(rec, null) == null ? DBNull.Value : pi.GetValue(rec, null);
}
dtReturn.Rows.Add(dr);
}
return (dtReturn);
}
public delegate object[] CreateRowDelegate<T>(T t);
}
}
/*
* sample:
* var query = from ....;
* DataTable dt = query.ToDataTable(rec => new object[] { query });
*
*/
相關推薦
Linq to DataTable 解決DataSet不支援System.nullable
using System;using System.Data;using System.Collections;using System.Collections.Generic;using System.Configuration;using System.Reflection;using System.L
解決IE8不支援陣列的indexOf方法
解決IE8不支援陣列的indexOf方法 測試報過來一個bootstrap-table.js bug, 在IE8下有個js錯誤,但是在其它瀏覽器下(Firefox, Chrome, IE9)下面都很正常。 後來除錯發現原因是在IE8下, js陣列沒有indexOf方法. 下面是
npm丨解決Windows不支援NODE_ENV
package.json檔案中,下面這樣寫,在WIN裡面,npm start 會報錯。 "start": "NODE_ENV=development webpack-dev-server", 需要安裝下 cross-env 包。 cnpm i c
MySQL複雜查詢 —— 跨表/多表查詢,如何解決MySQL不支援全連線的問題 —— 使用結果集的合併
SELECT sex, MAX(salary), MIN(salary), AVG(salary) FROM emp GROUP BY sex; 5.MySQL複雜查詢 —— 跨表/多表查詢 —— 瞭解 查詢結果集中的資料來自於多個不同的
解決IE不支援getElementsClassName的方案
在DOM3裡已經加入了getElementsByClassName這個方法,然而IE9、10以外的其它版本均不支援,這是一塊傷痛啊! 目前可以這麼解決,判斷瀏覽器支不支援這個方法,如果支援就不管;如果不支援,就在document物件里加入getElements
selenium+phantomjs 報錯解決,不支援phantomjs的解決
執行如下程式 c:\Python37\python.exe d:/Py/crawler/Phantomjs.py 報錯: c:\Python37\lib\site-packages\selenium\webdriver\phantomjs\webdriver.py:4
解決Chrome不支援本地Ajax請求的問題
在寫一個用傳統實現ajax例子的時候,在chrome中遇到了一個問題: XMLHttpRequest cannot loadfile:///C:/Users/Administrator/Desktop/test.php.Cross origin req
解決idea不支援lombok.jar中註解的問題
先說一下lombok.jar中都有哪些註解@EqualsAndHashCode:實現equals()方法和hashCode()方法 @ToString:實現toString()方法 @Data :註解在
解決 IE 不支援 document.getElementsByClassName() 的方法
網頁錯誤詳細資訊 訊息: 物件不支援此屬性或方法 document.getElementsByClassName('element_name') //create method getElementsByClassName for document if(!docume
Selenium Webdriver 的使用java執行js程式碼 解決 ScriptEngine不支援瀏覽器內建物件window,document的問題
問題場景: 使用java 掉用js程式碼,發現 ScriptEngine不支援瀏覽器內建物件window,document的問題; 問題一:為什麼要 用java掉用js程式碼? 比如在 抓取(爬取)對方網站時,需要破解一些js邏輯程式碼合作加密演算法,但是js混淆了
用一種無恥的方式解決bootstrapvalidator不支援中國id驗證的方法
使用bootstrap開發前端介面的時候,不可避免的要使用到id驗證這個問題,但是萬惡的外國人就是不支援我天朝的身份證號碼驗證方式,所以就想到了一下歪招: 1.在https://github.com/nghuuphuoc/bootstrapvalidator/blame/m
解決IE不支援display:inline-block;
對於IE不支援display:inline-block;的解決方法 .triangle-left{ height:0px; width:0px; border:30px so
解決瀏覽器不支援indexOf()方法的方案
在IE8版本以下(含IE8)IE瀏覽都不支援陣列的Indexof()方法,在使用indexOf方法前,執行一下下面的js就可以解決。 原理就是如果發現數組沒有indexOf方法,會新增上這個方法。 此解決方案來源於MDN。 indexOf() was add
解決nodejs不支援async和await關鍵字的問題
http://blog.csdn.net/brave_coder/article/details/69802881 1、 $ npm install --save-dev babel-cli 2、 $ npm install --save-dev bab
解決IE8 不支援getDate
第一,先說需求:後臺返回一個時間,我需要獲取這個時間的後一天時間。再次或許系統時間和後一天時間進行比較,依次做不同業務。 第二,因為要在 後臺時間加一天,我用到了getDate()這個方法,IE8不支
把H2資料庫從jar包部署到Kubernetes,並解決Ingress不支援TCP的問題
# 1 前言 > 歡迎訪問[南瓜慢說 www.pkslow.com](https://www.pkslow.com/)獲取更多精彩文章! [`H2 Database`](https://www.h2database.com/html/main.html)是一個優秀的資料庫,又小又方便,支援記憶體和
Linq中欄位資料型別轉換問題(Linq to entity,LINQ to Entities 不識別方法"System.String ToString()"問題解決)
1、在工作中碰到這樣一個問題: 使用linq時,需要查詢兩個表,在這兩張表中關聯欄位分別是int,和varchar()也就是string,在linq中對這兩個欄位進行關聯, 如果強制型別轉換兩個不同型別的欄位,就會報響應的擴充套件方法無法自動推斷引數型別的問題(比如:我用的
LINQ to Entities 不識別方法“System.String get_Item(Int32)”,因此該方法無法轉換為儲存表示式。
1、LINQ to Entities 不識別方法“System.String get_Item(Int32)”,因此該方法無法轉換為儲存表示式。專案中發現linq to entities 不識別? ,為何大家都要腰間盤,你的如此突出。 Expression<Func<
LinQ to entities 不能識別方法“system.string.ToString(system.String)”.因此該方法無法轉換為儲存表示式
【我也是剛研究IEnumerable和IQueryable】以下都是個人理解,僅供參考,如有錯誤歡迎指出~ 在EF裡面,使用IQueryable和IEnumerable可以延遲載入。 IQuerybale其實是微軟針對SQLService進行了再度優化的一個產物。使用上基本和IEnumerable類似。
LINQ to DataSet/DataTable
CSDN廣告是越來越多了,所有部落格筆記不再更新,新網址 DotNet筆記 一個DataSet通常包含一個或多個DataTable,同時也包括它們之間的關係集合等,實際上可以把它看成是一個縮影的資料庫。LINQ to DataSet也是對一個或多個Data