请问一下,Database,ADO.NET,C#,和LINQ之间的关系式什么?
展开全部
我写一个简单的LINQ 转 List 泛型的类,给你参考: public List myc = new List();
public struct myclass{public string ManfaceCode;
public string ProductNumber;
public double ExpectedNumber;
} public void ReturnHList() //vw_生產報關系統_檔案H 視圖{DataClasses1DataContext dclass = new DataClasses1DataContext();
List myv = (from cc in dclass.COPTCs //COPTCs 是一个表
join cd in dclass.COPTDs on new { cc.TC001, cc.TC002 } //COPTDs 这也是一个表equals new{TC001 = cd.TD001,
TC002 = cd.TD002}into xfrom cf in x.DefaultIfEmpty()
join ma in dclass.MOCTAs //MOCTAs 这也是一个表on new{cf.TD001,
cf.TD002,
cf.TD003}equals new{TD001 = ma.TA026,
TD002 = ma.TA027,
TD003 = ma.TA028}where ((new char?[] { 'Y', 'y' }).Contains(ma.TA013) &&
new char?[] { 'Y', 'y' }.Contains(cc.TC027)
) select new{工單單別 = ma.TA001,
工單單號 = ma.TA002,
成品品號 = ma.TA006,
預計產量 = ma.TA015//ma}/////okinto myselect new myclass{ManfaceCode=my.工單單別+my.工單單號,
ProductNumber = my.成品品號,
ExpectedNumber = Convert.ToDouble(my.預計產量),
} 以上的查询语句应该包括大部分SQL查询的内容了,语句用到了多字段、多表、多条件,如果你细心你会发现LINQ 生成语句其实就是一个查询的SQL,这就是说LINQ 和ADO的本质应该是相同的,都是用SQL去读取表,然后返回数据集。然后接下来的就是把这个List转成DataTable了,这个对你来说估计不难吧?直接用for循环写进去了。 至于ADO.NET 转 LINQ ,道理是一样的,你把DataTable 转成List,然后再用LINQ 去读这个List 了。这里就不写了。写了这么多,可以了吗?原创哦。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询