Mego開發文檔 - 基礎查詢
阿新 • • 發佈:2018-04-09
支持 dev 上下文 car 試用 使用 tor cts contains
基礎查詢
Mego 使用語言集成查詢(LINQ)從數據庫查詢數據。LINQ允許您使用C#(或其他.NET語言)根據派生的上下文和實體類編寫強類型查詢。將LINQ查詢的表示傳遞給數據庫提供者,翻譯為數據庫特定的查詢語言(例如關系數據庫的SQL)。
文檔代碼示例的模型都是基於測試用例所用的模型。
加載所有數據
using (var db = new OrderManageEntitie())
{
var list = db.Products.ToList();
}
加載單個數據
比較常用的方法,可以支持First()
、Single()
、ElementAt()
。
using (var db = new OrderManageEntit()) { var data = db.Products.FirstOrDefault(); }
using (var db = new OrderManageEntit())
{
var data = db.Products.ElementAt(4);
}
匯總查詢
using (var db = new OrderManageEntit())
{
var data = db.Products.Count();
}
查詢過濾
using (var db = new OrderManageEnti())
{
var data = db.Products.Where(a => a.Name.Contains("P")).ToArray();
}
查詢投影
using (var db = new OrderManageEntiti()) { var query = from a in db.Products select new { a.Id, a.Name }; var data = query.ToList(); }
查詢分頁
using (var db = new OrderManageEntities())
{
var data = db.Products.Take(10).Skip(20);
}
內連接查詢
using (var db = new OrderManageEntities()) { var query = from a in db.Products join b in db.Customers on a.Id equals b.Id select new { a, b }; var data = query.ToList(); }
左連接查詢
using (var db = new OrderManageEntities())
{
var query = from a in db.Products
join b in db.Customers on a.Id equals b.Id into g
from b in g.DefaultIfEmpty()
select new { a, b };
var data = query.ToList();
}
多查詢連接
using (var db = new OrderManageEntities())
{
var query = (from a in db.Customers
select new
{
a.Id,
a.Code,
a.Name
})
.Concat
(from b in db.Products
select new
{
b.Id,
b.Code,
b.Name
});
var data = query.ToArray();
}
Mego開發文檔 - 基礎查詢