EF提供的3中查询方式

1. Linq to Entities

using (TestEntities te = new TestEntities())
{
    var user = from a in te.User
               where a.UserDepartment.UserDepartment_name == "經理部"
               orderby a.User_id
               select a;
}

lambda方式

using (TestEntities te = new TestEntities())
{
    var user = te.User.Where(a => a.UserDepartment.UserDepartment_name == "經理部")
                      .OrderBy(a => a.User_id)
                      .Select(a => a);
}

 

2. Query Builder Mothed

using (TestEntities te = new TestEntities())
{
    var user = te.User.Where("it.UserDepartment.UserDepartment_name == \"經理部\"")
                      .OrderBy("it.User_id");                                 
}

 

3. Entity SQL Language 

using (TestEntities te = new TestEntities())
{
    string entitySQL = "SELECT Value a FROM User as a";
    entitySQL += " WHERE a.UserDepartment.UserDepartment_name == \"經理部\"";
    entitySQL += " Order by a.User_id";
    var user = te.CreateQuery<User>(entitySQL);
}

 

比较

  Linq to Entities Query Builder Mothed Entity SQL Language
智能提示
设计期除错
动态查询
对Provider产生的SQL语法控制 一般 較好 最好
支持的函数式 一般
开发速度 最佳 一般 一般

posted @ 2016-12-31 17:17  AnswerCard  阅读(345)  评论(0)    收藏  举报