orm框架
用途 => 為了解決軟體專案
與資料庫
打交道的中間層。
可以直接寫linq & limbda語法,使用最為廣泛,是有三種模式
「資料庫優先」,前提已有資料庫表,根據表結構自動生成model,可以在visual studio模型設計器修改這些模型之間對應關係。
「模型優先」,這裡的模型指的是「ado.net entity framework data model」,此時你的應用並沒有設計相關資料庫,在visual studio中我們通過設計對於的資料模型來生成資料庫和資料類。
已有資料庫和表,借住第三方工具(比如動軟**生成器)生成對應的model,更新資料庫表的時候需要手動更新專案中的model。
「**優先」模式,有兩種方式。
此時沒有對應資料庫和表,自己建立model,在nuget包管理器->程式包管理器控制台執行命令update-database生成資料庫和**。(前提是config檔案中有對應的connectionstrings)。
這樣設計的好處是可以針對概念模型進行所有資料操作而不必關係資料的儲存關係,可以更加自然的採用物件導向的方式進行面向資料的應用程式開發
常用於.net core的程式中,優點是免費,效率高,更加小巧輕便,可以直接寫sql,甚至可以寫多條sql,但是引數與返回值要好好處理,尤其是返回值,對於返回多個不同list的結果比較難處理。
using (var db = new sqlconnection(sqldb.connectionstringlocaltransaction))
);if (res.count() > 0)
}//配置資料庫連線
public static readonly string connectionstringlocaltransaction = getconnection();
//從sqlconfig.xml檔案讀取連線配置
public static string getconnection()
else
return conn;
}
第二個引數-變數:dynamicparameters,可以把變數新增進去然後在sql語句中用@取出來用。
第三個引數:commandtype 指明是sql語句還是儲存過程
整體寫法如
dbutility下面有個sqldb的class
可以用 sqldb.query(sql) 執行查詢語句,返回的是datatable型別
用sqldb.executenonquery(sql) 執行增刪改,返回的是受影響的行數
用法如下:
string sqla = "select * from scanplantime where contractno=''"; --sql語句,其中是下面format語句中的引數順序
sqla = string.format(sqla, contractno);
dt_exists = sqldb.query(sqla).tables[0]; 執行sqla
1.從語法來看另外書寫sql語句時盡量不要用拼接字串的形式組sql,因為有被攻擊或者sql注入的風險,盡量用stringbulder。
stringbuilder sql = new stringbuilder();
using (var db = new sqlconnection(sqldb.connectionstringlocaltransaction))
%", filter.stationname), inspectiontype = string.format("%%", filter.inspectiontype), sampleid = string.format("%%", filter.sampleid), testid = string.format("%%", filter.testid) });
return list.tolist();
}
C 的ORM 開源框架
odb 是乙個開源的,支援多平台,支援多資料庫的 c 的 orm 框架,可將 c 物件資料庫表對映,進行輕鬆的資料庫查詢和操作。使用odb進行物件持久化具有以下優點 示例 view source print?01odb sqlite database db people.db 02 03person...
C 中流行的ORM框架
net c 主流orm總攬sqlsugar sqlsugar是國人開發者開發的一款基於.net的orm框架,是可以執行在.net 4.net core的高效能 輕量級 orm框架,眾多.net框架中最容易使用的資料庫訪問技術。特點 開源 免費 國內開發者開發 維護 支援.net core 支援主流資...
幾個簡單常用的C語言函式
一 system color a0 顏色函式 背景 字型 0 黑色 8 灰色 1 藍色 9 淡藍色 2 綠色 a 淡綠色 3 湖藍色 b 淡淺綠色 4 紅色 c 淡紅色 5 紫色 d 淡紫色 6 黃色 e 淡黃色 7 白色 f 亮白色 system pause 暫停屏顯跳動,防止閃框 system ...