LINQ映射數(shù)據(jù)庫概括
學(xué)習(xí)LINQ時,經(jīng)常會遇到LINQ映射數(shù)據(jù)庫問題,這里將介紹LINQ映射數(shù)據(jù)庫問題的解決方法。
語言集成查詢 (LINQ) 是 Visual Studio 2008 和 .NET Framework 3.5 版中一項突破性的創(chuàng)新,它在對象領(lǐng)域和數(shù)據(jù)領(lǐng)域之間架起了一座橋梁
***一項目用到LinQ ,所以急沖沖都學(xué)習(xí)了LinQ語書寫,下面是我個人在項目中總結(jié)用到LinQ 的技術(shù)點,說的不好,請大家給出指教,有人這樣說,LinQ就是FrameWork2.0中DataSet的升級版,我也有同感,首先在寫這遍文章之前我,給大家推薦一款LinQ的編寫工具,LinQPad 工具,http://www.linqpad.net/ 這個地址有下載,工具說好也有好,說不好就是不能從SQL語句 換成 LinQ 的語法,
LINQ映射數(shù)據(jù)庫
Linq映射數(shù)據(jù)庫文件中常有 private System.Nullable<int> 這樣的數(shù)據(jù)類型出現(xiàn),剛接觸的可以不太清楚, 這里是根據(jù)你數(shù)據(jù)庫字段來映射的, System.Nullable<int> 映射到你的數(shù)據(jù)庫字段就是 可以為NULL 的 int 類型的字段,這個類型在C#語法中,給這個字段賦值時會存在一個 int? 的出現(xiàn),會報一個錯語,說不引用出錯。這是我項目中常出現(xiàn)的問題。
常用的解決方法是
1.修改數(shù)據(jù)庫字段,將int 類型字段 可為空 改成 不能為空,并給出默認(rèn)值。再將數(shù)據(jù)表重新映射 LINQ
2.重新定義一個實體類,將int?類型強制轉(zhuǎn)換成int類型。
LinQ的語法操作是延時的,所在做事務(wù)操作時
- using (DBTablesMappingDataContext dc = new DBTablesMappingDataContext(_connString))
- {
- //這里面的任何操作都可以看作是一個事務(wù) 不再需要去開如一個事務(wù)。
- }
【編輯推薦】