成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linq To Sql缺點的認識和解決

開發 后端
這里介紹Linq To Sql缺點,包括介紹在以前拼接Sql語句的年代,這個很簡單,一個" order by " + string,想按什么排就按什么來排。

本文向大家介紹Linq To Sql缺點,可能好多人還不了解Linq To Sql缺點,沒有關系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。

Linq To Sql是Microsoft開發的針對解決data!=object問題的新技術。在筆者的一系列的文章中,對它已經做了大量的介紹。現在,筆者將從經驗的角度,談談Linq To Sql缺點.

Linq To Sql缺點

很久前,有個網友問到這么一個問題。 他在界面上,有個DataView,里面綁定了一些Column,然后,他勾選那一列,就按某列排序。其傳回的參數是列的名字。然后問我,該怎么用Dlinq 來實現。

在以前拼接Sql語句的年代,這個很簡單,一個" order by " + string,想按什么排就按什么來排。而現在,dlinq是用是一個對象的屬性,已經不可能拼接了。我當時給他的答案是這樣的。

  1. private void Methods(string orderId)  
  2. {  
  3. var q = db.Customers.Select(c=>c);  
  4. switch(orderId)  
  5. {  
  6. case "ID":  
  7. qq = q.OrderBy(c=>c.ID);  
  8. break;  
  9. case "Name":  
  10. qq = q.OrderBy(c=>c.Name);  
  11. break;  
  12. default:  
  13. break;  
  14. }  
  15. var result = q.ToList();  

我那時也沒有想出一個更好的方案來。而后告訴他,去查下Compiled Query.說不定,可以找到更方便的。后來我才在這個例子中,看到更方便的。

  1. var query =db.Customers.Where
    ("
    City == @0 and Orders.Count>= @1", "London", 10).  
  2. OrderBy("CompanyName").  
  3. Select("New(CompanyName as Name, Phone)");  

在這里OrderBy直接接收的就是列的名字。再仔細一看,好像Where里是Linq的語句哎,那OrderBy也該是linq語句。后來,我把CompanyName換成小寫的,一跑過了。莫非真的是列的名字?出個難題吧。找了一個列名,是帶空格的,重新來建這個工程.一跑,錯了!把列名用中國擴號擴起來了,也是錯了。咳,只是動態構造Expression Tree而已,永遠都不能直接接收列的名字。這個例子看著是很簡單,可不知道你有沒有注意到它有一個80多k的Dynamic.cs文件。更有意思的事情是,它的名稱空間是System.Linq.Dynamic.看樣子,ms本來是打算把它加在.net 3.5中嗎.不曉得為什么放到了例子中了。這個名稱空間下,其主要內容就是動態構造Expression Tree. 和Linq To Sql進階系列(六)用object的動態查詢篇 一文中的方法類似。只是,它還包含了解析字符串部分.

從上面那個例子中,可以看出,Linq To Sql在這種動態構造語句時,比拼接sql麻煩很多。在Linq To Sql進階系列(六)用object的動態查詢篇 一文中,筆者極力推薦使用object的查詢。這符合Linq To Sql的設計原則。因為,它主要是為了解決data!=objects 的問題而產生的.它所有的操作均針對object,那就讓我們使用object的查詢吧.

【編輯推薦】

  1. LINQ to SQL查詢分析
  2. LINQ查詢架構簡單介紹
  3. LINQ to SQL映射關系概述
  4. LINQ To SQL對象模型淺析
  5. LINQ to SQL映射列描述
責任編輯:佚名 來源: IT168
相關推薦

2009-09-17 17:34:23

linq to sql

2009-09-16 09:56:42

LINQ to SQL

2009-09-08 14:45:24

Linq to SQL支持SQL Serve

2009-09-07 17:09:45

Linq To Sql

2009-09-08 13:07:15

介紹Linq to S

2009-09-10 10:37:15

LINQ to SQL

2009-09-09 18:03:47

LINQ to SQL

2009-09-10 18:02:23

LINQ to SQL

2009-09-15 10:46:04

LINQ to SQL

2009-09-16 09:38:27

LINQ To SQL

2009-09-18 13:23:27

Northwind對象LINQ to SQL

2009-09-18 16:41:46

Linq to sql

2009-09-11 09:41:19

LINQ to SQL

2009-09-16 17:11:35

LINQ To SQL

2009-09-09 14:40:43

Linq to sql

2009-09-10 11:29:00

LINQ to SQL

2009-09-11 12:08:09

Linq to SQL

2009-09-11 12:13:40

LINQ to SQL

2009-09-15 17:07:24

Linq To SQL

2009-09-16 17:33:16

LINQ TO SQL
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区欧美 | www.9191.com| 久久精品欧美一区二区三区不卡 | 中文在线一区 | 特黄色毛片 | 天天综合国产 | 91婷婷韩国欧美一区二区 | 青青艹在线视频 | 国产亚洲精品久久久久久牛牛 | 亚洲人va欧美va人人爽 | 欧美一区二区在线看 | 91精品国产乱码久久久久久久 | 欧美日韩一卡 | 成人三级av | 日本中文字幕视频 | 欧美一区2区三区3区公司 | 日韩福利片| 成年人在线| 国产欧美日韩一区二区三区 | 日本欧美视频 | 正在播放国产精品 | 国产a视频 | 91综合网| 国产精品久久国产精品久久 | 国产精品久久久久久久久久三级 | 国产乱码精品一品二品 | 午夜视频免费在线观看 | 亚洲小视频在线观看 | 黄片毛片在线观看 | 97国产在线观看 | 欧美日韩精品一区二区三区视频 | 国产欧美一级二级三级在线视频 | 国产在线精品一区二区三区 | 亚洲欧美中文字幕在线观看 | 伊人国产精品 | 欧美亚洲一区二区三区 | 亚洲精品一区二区三区四区高清 | 一区在线播放 | 精产嫩模国品一二三区 | 国产精品美女久久久久久不卡 | 九色综合网 |