EntityFramework系列总结(二)---使用方法

一、查询

  这里主要介绍两种查询方法 Linq to entity(L2E)和Sql查询

  1、Linq to entity

  L2E查询时可以使用linq query语法,或者lambda表达式,默认返回的类型是IQueryable,(linq查询默认返回的是IEnumerable),下边给出了一个简单的例子

1      //查询名字为ls的用户集合
2             //lambda语法
3             var users = from u in context.UserInfo
4                         where u.UserName == "ls"
5                         select u;
6             //query语法
7             var users2 = context.UserInfo.Where<UserInfo>(user => user.UserName == "ls");

  linq的使用方法详见linq总结系列(一)---基础部分,这里就不多啰嗦了。

  2、原生Sql查询

  返回的结果是DbRawSqlQuery类型,该类型实现了IEnumberable接口,所以结果集也可以用linq操作

 1    //查询名字为ls,密码是123321的用户集
 2          //使用占位符,执行的时候自动生成sql参数,不用担心sql注入
 3             var user1 = context.UserInfo.SqlQuery("select * from userinfo where username=@p0 and userpass=@p1", "ls", "123");
 4 
 5          //自己设sql参数
 6             SqlParameter [] pars= {
 7                 new SqlParameter("@name", SqlDbType.NVarChar, 20) { Value = "ls" },
 8                 new SqlParameter("@pass", SqlDbType.NVarChar, 20) { Value="123"}
 9             };
10             var user2 = context.Database.SqlQuery<UserInfo>( "select * from userinfo where username=@name and userpass=@pass", pars);
11 
12     //查询用户人数
13             int count = context.Database.SqlQuery<int>("select count(*) from userinfo").SingleOrDefault();

 

  

猜你喜欢

转载自www.cnblogs.com/wyy1234/p/9059703.html
今日推荐