LINQ 基本介绍
| 应用程序 | LINQ to SQL | ADO.NET |
| LINQ查询=> | SQL命令=> | DataAdapter DataCommand DataConnection |
| 数据库 | ||
| 查询结果<= | 对象集合<= | DataSet DataReader |
DataSet ds = new DataSet(); ds.Locale = CultureInfo.InvariantCulture; FillDataSet(ds); DataTable products = ds.Tables["Product"]; IEnumerable<DataRow> query = from product in products.AsEnumerable() select product; Console.WriteLine("Product Names:"); foreach (DataRow p in query) { Console.WriteLine(p.Field<string>("Name")); }
DataSet ds = new DataSet(); ds.Locale = CultureInfo.InvariantCulture; FillDataSet(ds); DataTable products = ds.Tables["Product"]; var query = products.AsEnumerable(). Select(product => new { ProductName = product.Field<string>("Name"), ProductNumber = product.Field<string>("ProductNumber"), Price = product.Field<decimal>("ListPrice") }); Console.WriteLine("Product Info:"); foreach (var productInfo in query) { Console.WriteLine("Product name: {0} Product number: {1} List price: ${2} ", productInfo.ProductName, productInfo.ProductNumber, productInfo.Price); }
Q5:如何使用DataTableExtensions类成员进行LINQ查询:
获取和设置数据记录字段的值:
Field<T>; 提供DataRow 中的每个列值的强类型访问.
SetField<T>; 为DataRow 中的指定列设置一个新值.
AsEnumerable(); 返回一个IEnumerable<DataRow>对象, 此对象可以用在LINQ表达式或者方法查询中.
AsDataView(); 创建并返回LINQ 的 DataView 对象.
CopyToDataTable(); 在给输入 IEnumerable<T>对象的情况下, 返回包含 DataRow 对象副本的DataTable.
Q6:如何通过对象关系设计器创建对象关系模型?
1, 对象关系设计器
2, SQLMetal代码生成工具
3, 代码编辑器
Q7:如何通过 DataContext 类获取数据库记录:
要利用LINQ 通过 LINQ to SQL 类查询数据库数据,有一下几步操作.
1, 在已有数据库的基础上, 为项目添加LINQ to SQL对象模型.
2, 更具对象模型, 获取对应的 DataContext 类. 该类是应用程序和数据之间的桥梁, 它提供数据库的查询, 提交修改的等操作.
3, 通过 DataContext 对象获取对应的数据源, 根据对象模型的不同, 数据源保存的属性不同.
4, 便捷 LINQ 查询, 对数据源进行查询.
Q8:如何通过 DataContext 累修改并提交数据库记录:
通过 DataContext 类修改数据,有一下几步操作.
1, 创建关系模型, 创建和数据库对应的DataContext 类型,可被继承
2, 通过 DataContext 类提供的数据表对象获取数据记录, 如前面介绍的DemoDataContext类的Demo 属性, 同时修改数据库记录的数据.
3, 通过 DataContext 类的 SubmitChanges(); 方法讲修改后的数据提交到数据库.
浙公网安备 33010602011771号