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