What is the difference between LINQ query expressions and extension methods

后端 未结 8 1068
一个人的身影
一个人的身影 2020-12-23 15:39

Below are two queries that return the same data. Other then style I am not sure which is better.

What factors influence these queries? What are the benefits of us

8条回答
  •  醉话见心
    2020-12-23 15:50

    Your Sample1 is top level representation of Linq, it is more readable, and while compiling it'll converted to expression tree i.e your Sample2.

    var x = from s in db.Surveys
        join sq in db.Survey_Questions on s.ID equals sq.Survey_ID
        join q in db.Questions on sq.Question_ID equals q.ID
        join qg in db.Question_Groups on q.ID equals qg.Question_ID
        where s.Type_ID.Equals(typeID) & s.Type.Equals(type)
        select new { question = sq.Question, status = sq.Status, grp = qg };
    

    you can try below code to get expression for written query

    var exp=x.Expression;
    

    Expressions are used when query less complicated

提交回复
热议问题