前面谈了弱类型 DataSet,可以发现它不能受 IntelliSense 支持,我们仍然需要记住字段名称,尤其是利用 SQL 语句填充 DataSet 时。那么能不能让 LINQ to DataSet 更高级点呢?可以,用强类型 DataSet。
首先, 在 App_Code 中新建一个“数据集”项,我们命名为 DataSet1.xsd,并打开它。
其次, 在数据库资源管理器中连接数据库,并展开“表”,然后将某个/些表(我们这里是 TranTable)拖到 DataSet1.xsd 的界面中,也可以只拖需要的字段,保存 DataSet1.xsd。
最后, 使用 LINQ 吧,代码如下:
DataSet1 ds = new DataSet1(); DataSet1TableAdapters.TranTableTableAdapter adapter = new DataSet1TableAdapters.TranTableTableAdapter(); adapter.Fill(ds.TranTable); var tbl = from t in ds.TranTable select new { Id = t.Id, Priority = t.Priority }; GridView1.DataSource = tbl; GridView1.DataBind();这回轻松了很多,并且 DataSet1、DataSet1TableAdapters、TranTableTableAdapter 等都是受 IntelliSense 支持的,我们只需要输前面的几个字母,就会有提示。
弱类型 DataSet 和强类型 DataSet 在性能上肯定是有区别的,但这种区别非常细微,完全可以忽略不计,总的来说强类型 DataSet 应用起来简单,不容易出错,所以推荐它。
转载于:https://www.cnblogs.com/deepwishly/archive/2009/12/25/2551342.html