前言
在EFCore中執(zhí)行Sql語句的方法為:FromSql與ExecuteSqlCommand;在EF6中的為SqlQuery與ExecuteSqlCommand,而FromSql和SqlQuery有很大區(qū)別,F(xiàn)romSql返回值為IQueryable,因此為延遲加載的,可以與Linq擴(kuò)展方法配合使用,但是有不少的坑(EFCore版本為1.1.0),直接執(zhí)行Sql語句的建議不要使用FromSql,但是EFCore中并沒有提供SqlQuery方法,因此下面會(huì)貼出SqlQuery的實(shí)現(xiàn)代碼供大家參考,以便在EFCore中能使用。
FromSql和ExecuteSqlCommand的使用
測試時(shí)使用了SqlServer2008和SqlServer Profiler進(jìn)行Sql語句捕捉,EFCore的版本為1.1.0。
測試的Entity Model與DbContext
View Code
ExecuteSqlCommand
EFCore的ExecuteSqlCommand和EF6的一樣,執(zhí)行非查詢的Sql語句:
網(wǎng)友評(píng)論