EF5中 執行 sql語句使用Database.ExecuteSqlCommand 返回影響的行數 ; EF5執行sql查詢語句 Database.SqlQuery 帶返回值


一: 執行sql語句,返回受影響的行數

在mysql里面,如果沒有影響,那么返回行數為  -1 ,sqlserver 里面  還沒有測試過


using
(var ctx = new MyDbContext()) { ctx.Database.ExecuteSqlCommand("UPDATE Person SET Name = 'Michael' WHERE PersonID = 1"); }

二 : Database.SqlQuery<T>   EF5執行sql查詢語句 Database.SqlQuery 帶返回值

這個准確的說是  IEnumerable<T> SqlQuery<T>(string sql, params object[] parameters)  ,注意返回值是 IEnumerable

這個是執行sql語句,返回你想要的類型的列表

dbMain.Database.SqlQuery<int>("select max(UserId) from tb_user_account").First();


或者假如你自己有個類別


public
class PersonView { public int PersonID { get; set; } public string Name { get; set; } }


那么就可以直接返回這個 PersonView類


using
(var ctx = new MyDbContext()) { var peopleViews = ctx.SqlQuery<PersonView>("SELECT PersonID, Name FROM Person").ToList(); }

直接返回你想要的數據. 例如這里是 List<PersonView> 列表


免責聲明!

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



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