EF 执行SQL语句

很多时候,Linq表达式不能很好的满足对库表的查询、操作,所以不得已还得用到SQL语句去执行。

1、添加、更新、删除

调用的是ExecuteSqlCommand(SQL语句)方法

1 string sqlstr=string.Format("update T_表名 set Name = {0}, Age = {1}","ccx",18);
2 Context.Database.ExecuteSqlCommand(sqlstr);

2、查询

调用的是SqlQuery<类型>(SQL语句)方法

1 string queryPoint = string.Format("geometry::STGeomFromText('POINT({0} {1})',0)", lng, lat);
2 string sqlStr = string.Format("select * from T_LeisureTourism where LT_Geo.STDistance({0})<={1}", queryPoint, ConvertUtils.kmTOmi(Km).ToString());
3 var query = context.Database.SqlQuery<T_LeisureTourism>(sqlStr);

这边返回值是 DbRawSqlQuery<T> 类型,也是实现了 IEnumerable 接口,即:可以用去当做List<T>去做进一步查询

3、统计查询

类似ExecuteScalar方法

1 string sqlstr = "select count(*) from T_表名";
2 int num = context.Database.SqlQuery<int>(sqlstr).SingleOrDefault();

 

转载于:https://www.cnblogs.com/CoffeeEddy/p/9917234.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值