Browse by Tags

MEMO-使用LINQ to SQL直接執行SQL指令
使用LINQ to SQL時,難免會遇到基於簡潔效率考量需要直接下SQL指令的場合。依我的習慣,遇到這類情境我就不用LINQ寫法硬幹了。DataContext物件提供了ExecuteCommand及ExecuteQuery兩個方法,可以直接撰寫有效率的SQL語法,交給DB執行批次更新動作或取回複合式查詢的結果。 但切記!! 直接操控SQL語法並不代表用直接組裝SQL指令字串,這樣很容易產生 SQL Injection漏洞 。基於這條開發基本常識,ExecuteCommand當然也鼔勵大家用Parameter處理動態參數...
Posted 13 November 2009 08:11 PMJeffrey | with no comments
Filed under:
觀察LINQ to SQL DataContext的連線開啟時機
昨天的文章 發表後,有兩位網友提到了DataContext是否要加using的議題。 我接觸LINQ to SQL是由Scott Gu的 這幾篇文章 開始入門的,在他的範例中沒有特別提到using,我也自始就忽略DataContext有實做IDispose這件事。雖然用using包住絕對有益無害(只要小心using中間過程如將DataContext傳到外部,要留意using結束後外部就不可再繼續叫用),但我倒認為DataContext裡的Connection應該不是一new DataContext就建立一條連線不放...
小試LINQ to Oracle
上回針對Oracle使用LINQ做了 一番評估 ,打算為Oracle相關專案導入LINQ預做暖身。無意發現除了Entity Framework外,還有另外的選擇---devart的 LINQ to Oracle ! 基於工作專案常偏向RAD性質,對我來說,LINQ to Oracle的輕巧優於EF的龐大嚴謹功能完整。而LINQ to Oracle雖然也找得到免費解決方案,但畢竟要用在工作上,產品有廠商支援撐場,總是比Open Source多幾分穩當,何苦為了幫公司省錢砸了飯碗。 devart的產品看來符合我的需要...
Oracle LINQ之路
自從學會LINQ to SQL後,我就愛死那種忘記SqlConnection、丟掉SqlCommand、抛下SqlParameter的簡潔,乾乾淨淨 幾行Code 就搞定查詢、新增、修改、刪除的感覺。 無奈在公司,就算先撇開專案團隊成員是否已具備LINQ技能的問題,面對Oracle林立的工作專案環境,抬出LINQ to SQL無疑是張飛打岳飛,只能乖乖回去用OracleCommand、OracleParameter行禮如儀。 不過,我還是沒有放棄在Oracle專案使用LINQ的念頭。 ADO.NET...
LINQ to SQL,說好的更新呢?
自從學會 LINQ to SQL一行資料庫更新法 ,它便成為我專案裡常用的技巧。對於彈性要求較高、嚴謹性要求較低的複雜資料,我還喜歡借重SQL 2005起新增的XML資料型別作為儲存欄位。透過 LINQ to SQL對應 ,Xml欄位會變成System.Xml.Linq.XElement Class,XElement在建立與操作上文件又比.NET 2.0時代XmlDocument、XmlElement的做法便捷許多。 例如: 我手上有一個簡單的XmlStore資料表。 CREATE TABLE ...
Posted 19 July 2009 06:00 PMJeffrey | 4 comment(s)
Filed under: ,
從LINQ to SQL的"一行更新法"聊起
我喜歡LINQ to SQL的簡潔,就拿更新資料庫某筆資料這件事來說,你可以忘記SqlConnection、丟掉SqlCommand、抛下SqlParameter,就搞定整個更新動作,對寫慣ADO.NET的人來說,實在是件不可思議的事。 像下面這個例子,寫一段LINQ配上Single()取得資料物件,重新指定值,然後SubmitChanges()就完成了ID=2 Player資料的CreateTime欄位更新。有種袖子都還沒捲起來,敵人就忽然自已暴斃的莫名爽快。 protected void Page_Load...
Posted 14 July 2009 02:58 AMJeffrey | with no comments
Filed under: ,
在ASP.NET中觀察LINQ to SQL所產生的T-SQL語法
接連在好幾個小專案裡用了LINQ to SQL,慢慢掌握要領, 煎、煮、炒、炸 查詢、新增、修改、刪除,各種 料理 操作都已能手到擒來,就愈發感受到它的便利性。 說穿了,LINQ to SQL只不過是ORM的一種具體實踐,並無深奧學問,之所以用來得心應手、讓人驚豔,不外乎是在與Visual Studio 2008整合深度上佔了優勢。以一個開發者的角度而言,我不在乎這對其他解決方案是否公允? 也不關心這類綁標圖利是否會有爭議? 給我方便的開發工具,其餘免談。 過去曾用ADO/ADO.NET開發過很長一段時間...
LINQ to SQL: DataType Mapping Between SQL And .NET
好奇LINQ To SQL如何將SQL Data Type對應成.NET Data Type,我做了一個小實驗: 建了一個有18種不同資料型別的Data Table,把它拉進dbml中,看看LINQ to SQL對應出來的資料型別為何? 以下是整理出來的結果: SQL Data Type Linq to SQL .NET Data Type tinyint System.Nullable<byte> smallint System.Nullable<short> int System...
Posted 28 May 2008 08:20 PMJeffrey | 1 comment(s)
Filed under: ,
About Linq To XML Default Namespace
先前知道,VB.NET在XML表示法上比C#便利一些,可以直接 在程式碼裡寫起XML來 (見Deep XML Support一節),不用搞出一堆New XElement, New XAttribute, 簡潔許多。 剛才又發現,在Namespace處理上,VB.NET 2008再次略勝一籌! 假設有以下的XML,其中宣告了Namespace: <? xml version ="1.0" encoding ="utf-8" ? > < Fruits...
Posted 26 May 2008 08:20 PMJeffrey | 1 comment(s)
Filed under: ,
KB-Transaction in Linq to SQL
關於Ling to SQL如何處理交易,一直有個疑問 -- 當多筆資料的更新動作必須包成Transaction時,在Linq to SQL中應如何處理? 花了點時間研究,心得如下: 當連續進行多筆資料更新,再一次DataContext.SubmitChanges();,預設Linq to SQL會自動將這些INSERT/UPDATE/DELETE包成一個Transaction。例如: var order1 = ( from o in db.Orders where o.OrderID == 10248...

搜尋

Go

<February 2010>
SunMonTueWedThuFriSat
31123456
78910111213
14151617181920
21222324252627
28123456
78910111213
 
RSS
【工商服務】
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


BlogLook Score and Rank

Syndication