1. 程式人生 > >Mego開發文檔 - 基礎查詢

Mego開發文檔 - 基礎查詢

支持 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開發文檔 - 基礎查詢