随笔分类 -  Linq

摘要:说明:本内容来自微软的MSDN,好记性不如烂笔头,加深印象。 我的心得:@开头 Let子句 1) 在查询表达式中,存储子表达式的结果有时很有用,这样可以在随后的子句中使用。 2) 该关键字可以创建一个新的范围变量,并且用您提供的表达式的结果初始化该变量。 3) 一旦用值初始化了该范围变量... 阅读全文
posted @ 2012-01-29 10:22 yellowwood 阅读(1041) 评论(0) 推荐(0)
摘要:说明:本内容来自微软的MSDN,好记性不如烂笔头,加深印象。 我的心得:@开头Linq查询简介为什么推出Linq?各种数据源都有自己的查询语言,例如,用于关系数据库的 SQL 和用于 XML 的 XQuery。因此,开发人员不得不针对他们必须支持的每种数据源或数据格式而学习新的查询语言。从学习查询语言来说,好处?LINQ 通过提供一种跨各种数据源和数据格式使用数据的一致模型,简化了这一情况——不同的数据源使用不同的查询语言。查询操作的三个部分所有 LINQ 查询操作都由以下三个不同的操作组成:1,获取数据源2,创建查询3,执行查询例子 public class 查询操作的三个部分 { ///& 阅读全文
posted @ 2012-01-29 10:09 yellowwood 阅读(231) 评论(0) 推荐(0)
摘要:疑问1,什么是Linq2,Linq可以做什么3,什么时候应用Linq4.学习Linq的基础知识1、什么是Linq语言集成查询 (LINQ) 是ADO.NET的一部分,出现于Visual Studio 2008 和 .NET Framework 3.5。是对象域和数据域之间的桥梁。2、Linq可以做什么它是统一的查询语言,学习了它,可以不学习关系型数据库的常用语言SQL和XML的XQuery,使用Linq就可以了。3、什么时候应用Linq4、学习Linq的方法与SQL类比,标准SQL:DDL(Create,Drop,Alter),DML(Insert,Update,Delete),SELECT。 阅读全文
posted @ 2012-01-29 09:54 yellowwood 阅读(166) 评论(0) 推荐(0)
摘要:1事务范围-TransactionScope1.1 交易管理员会决定要参与哪个事务。1.2 调用Complete 方法,提交事务。1.3 如果有异常在事务范围内发生,则会复原范围所参与的事务。2 添加dllSystem.Transactions.dll3 代碼 /// <summary> /// 測試事務範圍 /// </summary> private void btnTrans_Click(object sender, EventArgs e) { // 1 刪除所有 // 2 添... 阅读全文
posted @ 2011-12-29 23:57 yellowwood 阅读(211) 评论(0) 推荐(0)
摘要:1 執行SQL的方法有两个重要的方法: ExecuteCommand和ExecuteQuery,在DataContext类里。1.1 ExecuteCommand执行不返回数据行的 SQL 语句。用来执行DML(insert、update、delete) 和 Procedure1.2 ExecuteQuery直接在数据库执行 SQL 查询,返回数据行。用来执行Select语句。2 应用场景如果 LINQ to SQL 查询不足以进行特殊化工作,则可以使用 ExecuteQuery 方法执行 SQL 查询,然后将查询结果直接转换为物件。3 执行SELECT 语句 // 執行 SELECT 語句 阅读全文
posted @ 2011-12-29 23:54 yellowwood 阅读(323) 评论(0) 推荐(0)
摘要:1 创建Northwind代码文件執行:sqlmetal /code:"c:\linqtest7\northwind.cs" /language:csharp "c:\linqtest7\northwnd.mdf" /sprocs /functions /pluralize1.2 Northwind 的储存过程[Get Customer And Orders]1.3 存储过程映射的代码下面为工具生成代码。 /// <summary> /// 獲取客戶信息和訂單信息 /// </summary> /// <param name 阅读全文
posted @ 2011-12-29 23:50 yellowwood 阅读(258) 评论(0) 推荐(0)
摘要:1 創建Northwind代碼文件執行:sqlmetal /code:"c:\linqtest\northwind.cs" /language:csharp "c:\linqtest\northwnd.mdf" /sprocs /functions /pluralize1.2 Northwind 的儲存過程1.3 取得訂單明細調用過程下面為工具生成代碼。 /// <summary> /// 獲取訂單明細 /// </summary> /// <param name="orderID">訂單ID< 阅读全文
posted @ 2011-12-29 23:46 yellowwood 阅读(187) 评论(0) 推荐(0)
摘要:1 生成DataContext文件使用SqlMetal 工具。sqlmetal /code:"c:\linqtest6\northwind.cs" /language:csharp "C:\linqtest6\northwnd.mdf" /pluralize注意:pluralize表示使用英语规则自动将类别和成员名称复数化或单数化。2 建立项目建立控制台LinqDataManipulationApp3 添加DLL和Namespace添加System.Data.Linq.dllusing System.Data.Linq;using System.Data 阅读全文
posted @ 2011-12-29 23:41 yellowwood 阅读(221) 评论(0) 推荐(0)
摘要:1 建立实体类的联系此处使用手动写代码实现。1.1 Order类 private EntityRef<Customer> _Customer; public Order() { this._Customer = new EntityRef<Customer>(); } /// <summary> /// 導航到 Customer /// </summary> /// <remarks> /// 使用 CustomerID 關聯到 Customer ThisKey ... 阅读全文
posted @ 2011-12-29 23:39 yellowwood 阅读(200) 评论(0) 推荐(0)
摘要:在01的基础上继续。1 指定数据库的连接使用数据库文件 Northwind db = new Northwind (@"c:\data\northwnd.mdf");2 建立简单的查询2.1 获取Table取得table Table<Customer> Customers = null; // 方法1,使用GetTable //Customers = db.GetTable<Customer>(); // 方法2,使用強類型 Customers = db.Customers;... 阅读全文
posted @ 2011-12-29 23:35 yellowwood 阅读(206) 评论(0) 推荐(0)
摘要:在使用LINQ to SQL之前,除了要属性LINQ的语法,还要创建实体模型。1 创建Project新建控制台项目,命名为LinqConsoleApp2 添加DLL和Namepace1.添加System.Data.Linq.dll2.using System.Data.Linq;3.using System.Data.Linq.Mapping;3 将类映射到数据库表以NorthWind为例,建立Customer和Order实体及其联系。3.1创建Order类[Table(Name = "Orders")] public class Order { private in... 阅读全文
posted @ 2011-12-29 23:29 yellowwood 阅读(211) 评论(0) 推荐(0)

Never Give UP