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();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM