自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linq使用sqlmetal剖析

開發(fā) 后端
這里介紹Linq使用sqlmetal可以很方便的同步數(shù)據(jù)庫與實體和映射文件。每次修改數(shù)據(jù)庫結(jié)構(gòu),從dbml設(shè)計器上刪除表、存儲過程然后再重新添加也是很麻煩的事情。

在向大家詳細(xì)介紹Linq使用sqlmetal之前,首先讓大家了解下外部映射文件,然后全面介紹Linq使用sqlmetal。

外部映射文件

我們可以Linq使用sqlmetal命令行工具來生成外部映射文件,使用方法如下:
1、開始菜單 -》 VS2008 -》VS工具 -》VS2008命令行提示

2、輸入命令:

  1. D:\Program Files\Microsoft Visual Studio 9.0\VC>sqlmetal /conn:server=xxx;  
  2. database=Northwind;uid=xxx;pwd=xxx /map:c:\northwind.map /code:c:\northwind.cs 

3、這樣,我們就可以在C盤下得到一個xml映射文件和C#的實體類代碼

4、把.cs文件添加到項目中來(放到App_Code目錄),然后使用下面的代碼加載映射文件:

  1. String path = @"C:\Northwind.map";  
  2.  
  3. XmlMappingSource xms = XmlMappingSource.FromXml(File.ReadAllText(path));  
  4. Northwind ctx = new Northwind
    ("
    server=xxx;database=Northwind;uid=xxx;pwd=xxx", xms); 

5、現(xiàn)在就可以照常進(jìn)行其它工作了。Linq使用sqlmetal可以很方便的同步數(shù)據(jù)庫與實體和映射文件。每次修改數(shù)據(jù)庫結(jié)構(gòu),從dbml設(shè)計器上刪除表、存儲過程然后再重新添加也是很麻煩的事情。

處理空值

  1. var count = (from c in ctx.Customers where c.Region == null select c).Count();  
  2. Response.Write(count + "<br/>");  
  3. var query = from emp in ctx.Employees select emp.ReportsTo;  
  4. foreach (Nullable<int> r in query)  
  5. {  
  6. Response.Write(r.HasValue ? r.Value.ToString() + "<br/>" : "沒有<br/>");  

代碼執(zhí)行后捕獲到下面的SQL被執(zhí)行:

  1. SELECT COUNT(*) AS [value]  
  2. FROM [dbo].[Customers] AS [t0]  
  3. WHERE [t0].[Region] IS NULL  
  4. SELECT [t0].[ReportsTo]  
  5. FROM [dbo].[Employees] AS [t0] 

【編輯推薦】

  1. Linq結(jié)果集形狀概述
  2. Linq存儲過程返回詳解
  3. Linq調(diào)用LoadProducts方法
  4. Linq使用數(shù)據(jù)表簡單描述
  5. Linq對象引用簡單介紹
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2009-09-08 15:39:13

Linq使用Inser

2009-09-08 16:50:12

使用LINQ進(jìn)行數(shù)據(jù)轉(zhuǎn)

2009-09-10 14:37:57

LINQ匿名類型

2009-09-16 16:59:05

LINQ to XML

2009-09-17 13:15:20

LINQ查詢

2009-09-09 14:40:43

Linq to sql

2009-09-14 10:13:02

LINQ查詢操作

2009-09-14 15:12:40

LINQ to XML

2009-09-09 13:39:05

Linq用戶定義函數(shù)

2009-09-14 10:35:15

Linq內(nèi)部執(zhí)行原理

2009-09-15 14:52:15

linq級聯(lián)刪除

2009-09-17 09:20:34

Linq和dLinq區(qū)

2009-09-08 16:20:12

LINQ to SQL

2009-09-16 09:56:42

LINQ to SQL

2009-09-18 17:17:58

LINQ模型

2009-09-07 16:25:14

Linq To SQL

2009-09-10 15:35:07

LINQ查詢表達(dá)式

2009-09-17 15:22:38

LINQ to SQL

2009-09-11 09:48:27

Linq Lambda

2009-09-07 17:18:33

LINQ查詢表達(dá)式
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號