EF 查询方式 LINQ to Entities|Entity SQL

EF查询方式:

1.LINQ to Entities:

//Querying with LINQ to Entities 

using (var context = newSchoolDBEntities())

{

var L2EQuery = context.Students.where(s => s.StudentName == "Bill");

 

var student = L2EQuery.FirstOrDefault<Student>();

 

}

LINQ Query syntax:

using (var context = new SchoolDBEntities())

{

var L2EQuery = from st in context.Students

where st.StudentName == "Bill"select st;

 

var student = L2EQuery.FirstOrDefault<Student>();

}

2.Entity SQL:

//Querying with Object Services and Entity SQL

string sqlString = "SELECT VALUE st FROM SchoolDBEntities.Students " +

"AS st WHERE st.StudentName == 'Bill'";

 

var objctx = (ctx as IObjectContextAdapter).ObjectContext;

 

ObjectQuery<Student> student = objctx.CreateQuery<Student>(sqlString);

Student newStudent = student.First<Student>();

//使用EntityDataReader

using (var con = newEntityConnection("name=SchoolDBEntities"))

{

con.Open();

EntityCommand cmd = con.CreateCommand();

cmd.CommandText = "SELECT VALUE st FROM SchoolDBEntities.Students as st where st.StudentName='Bill'";

Dictionary<int, string> dict = newDictionary<int, string>();

using (EntityDataReader rdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess | CommandBehavior.CloseConnection))

{

while (rdr.Read())

{

int a = rdr.GetInt32(0);

var b = rdr.GetString(1);

dict.Add(a, b);

}

}

}

3.Native SQL:

using (var ctx = newSchoolDBEntities())

{

var studentName = ctx.Students.SqlQuery("Select studentid, studentname, standardId from Student where studentname='Bill'").FirstOrDefault<Student>();

}

 

posted @ 2017-06-28 23:17  Dukezhou  阅读(467)  评论(0)    收藏  举报