.net平台下相容.net standard 2.0,乙個實現以lambda表示式轉轉換標準sql語句,支援mysql、sql server資料庫方言,使用強型別運算元據的輕量級orm工具,在減少魔法字串同時,通過靈活的lambda表示式組合,實現業務資料查詢的多樣性。
演示**:
1、重新組織**結構,以支援sql方言;
2、增加對mysql資料訪問支援;
只需幾步,即可實現sqlrepoex與
string connectionstring = "data source=(local);initial catalog=northwind;user id=test;password=test";
var connectionprovider = new mssqlp.connectionstringconnectionprovider(connectionstring);
mssqlrepofactory.useconnectionprovider(connectionprovider);
var repository = mssqlrepofactory.create();
var result = repository.query().select(e => e.customerid, e => e.companyname, e => e.address).top(10);
sqlrepoex1.1的where語句只支援單一表示式: where(c => c.id == 9),如果使用 where(c => c.id == 9 && c.id == 10 ),則會報錯;
sqlrepoex2.0可以使用:where(c => c.id > 0 && c.id < 30 && c.remark.contains("a"))的更自然的語法;
sqlrepoex1.1不支援union操作;
在sqlrepoex2.0中可以
var repository = mssqlrepofactory.create();
var results = repository.query().select(e => e.id, e => e.task);
var results5 = repository.query().select(e => e.id, e => e.task)
.where(c => c.id > 0 && c.id < 7);
var results6 = repository.query()
.select(e => e.id, e => e.task)
.where(c => c.id > 10 && c.id < 15);
var results2 = results.union(new list);
foreach (var item in results2)
\t ");
}
var repository = mssqlrepofactory.create();
var results1 = repository.query()
.innerjoin()
// 增加附加條件,如果主選擇有此屬性,則查詢本句中所設定
.on((r, l) => r.task == l.task, l => l.remark);
console.writeline(results1.sql());
1、使用 autofac 時
install-package sqlrepoex.mssql.autofac -version 2.0.1
2、asp.net core
install-package sqlrepoex.mssql.servicecollection -version 2.0.1
3、手動例項時
install-package sqlrepoex.mssql.static -version 2.0.1
1、使用 autofac 時
install-package sqlrepoex.mysql.autofac -version 2.0.1
2、asp.net core
install-package sqlrepoex.mysql.servicecollection -version 2.0.1
3、手動例項時
install-package sqlrepoex.mysql.static -version 2.0.1
install-package sqlrepoex.normal -version 2.0.1
如使用中有任何問題,請告知
2、可通過電郵 [email protected];
程序 輕量程序 執行緒
程序是正在執行程式的乙個例項。可以認為是資料結構的集合,這個集合詳細描述了程式的執 況。程序建立時繼承了父程序的位址空間且與父程序執行同樣的 但它們有各自的資料,子程序對資料的改變對父程序是不可見的。為更好的支援多執行緒應用,linux使用輕量程序。兩個輕量程序共享某些資源,如位址空間,開啟的檔案等...
StructureMap 輕量IOC框架
structuremap是乙個dependency injection framework,和spring.net類似,使用attribute的方式,同時支援xml配置檔案的方式,在構建鬆散耦合的系統過程中發揮了很大的作用。甚至有人說 don t create a loosely coupled s...
輕量定時器
import schedule import time defjob print 我又回來了.d time.localtime tm min schedule.every 10 minutes.do job 每隔10分鐘執行一次任務 schedule.every hour.do job 每隔一小時執...