EntityFramework核心原始SQL
基础查询(执行SQL和存储过程)
啥也不说了,拿起键盘就是干,如下:
<>之前,,,,public class HomeController :控制器
,,,{,,,,,,,private IBlogRepository _blogRepository;,,,,,,,, public HomeController (IBlogRepository blogRepository)
,,,,,,,{
,,,,,,,,,,,_blogRepository =, blogRepository;
,,,,,,,},,,,,,,,public IActionResult 指数()
,,,,,,,{,,,,,,,,,,,var list =, _blogRepository.GetList (),,,,,,,,,,,,, return 好();
,,,,,,,}
,,,}
<>之前,,,,public class BlogRepository :, EntityBaseRepository
,,,,,,IBlogRepository
,,,{,,,,,,,private EFCoreContext _efCoreContext;,,,,,,,, public BlogRepository (EFCoreContext efCoreContext),:,基地(efCoreContext)
,,,,,,,{
,,,,,,,,,,,_efCoreContext =, efCoreContext;
,,,,,,,},,,,,,,,public IEnumerable, GetList ()
,,,,,,,{,,,,,,,,,,,var iQueryTable =, _efCoreContext.Set ()。
,,,,,,,,,,,,,,,FromSql (“select *,得到博客”),,,,,,,,,,,,,return iQueryTable.ToList ();
,,,,,,,}
,,,}
下面我们来看看存储过程。
CREATE PROCEDURE dbo.GetBlogList
作为
开始
,,,SELECT *得到dbo.Blog
结束
以前去>
<>之前,,,,,,,,public IEnumerable, GetList ()
,,,,,,,{,,,,,,,,,,,var iQueryTable =, _efCoreContext.Set ()。
,,,,,,,,,,,,,,,FromSql (“EXECUTE , dbo.GetBlogList”),,,,,,,,,,,,, return iQueryTable.ToList ();
,,,,,,,}
参数查询,
利用参数化存储过程查询。
*,得到dbo.Blog WHERE Id =
结果利用FromSql就变成了如下:
<>之前,,,,,,,,public IEnumerable, GetList ()
,,,,,,,{,,,,,,,,,,,var Id =, new SqlParameter (“Id”,“1”),,,,,,,,,,,,, var iQueryTable =, _efCoreContext.Set ()。
,,,,,,,,,,,,,,,FromSql (“EXEC dbo.GetBlogList {0}”, 1),,,,,,,,,,,,, return iQueryTable.ToList ();
,,,,,,,}
上述是利用字符串。格式的形式来传参,我们也可以利用SqlParameter来传参,如下:
<>之前,,,,,,,,public IEnumerable, GetList ()
,,,,,,,{,,,,,,,,,,,var Id =, new SqlParameter (“Id”,“1”),,,,,,,,,,,,, var iQueryTable =, _efCoreContext.Set ()。
,,,,,,,,,,,,,,,FromSql (“EXEC dbo.GetBlogList  @ Id, Id),,,,,,,,,,,,, return iQueryTable.ToList ();
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null