entity-framework – 使用Entity框架核心生成和访问存储过程
|
我正在使用Visual Studio 2017实现Asp.Net核心Web API,实体框架核心,数据库第一种方法.我已经设法基于现有数据库生成上下文和类文件.我需要使用我的上下文访问存储过程.在早期版本的实体框架中,通过在向导中选择存储过程对象并生成包含这些对象的edmx,可以很简单.然后,我可以通过实体框架公开的复杂类型对象访问存储过程.我如何在实体框架核心中做类似的事情.一个例子会有帮助吗? 解决方法数据库第一种方法在EF Core中没有edmx文件.相反,你必须使用Scaffold-DbContext安装Nuget包Microsoft.EntityFrameworkCore.Tools和Microsoft.EntityFrameworkCore.SqlServer.Design Scaffold-DbContext "Server=(localdb)mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models 但这不会得到你的存储过程.它仍在开发中,跟踪问题#245 但是,要执行存储过程,请使用执行RAW SQL查询的FromSql方法 例如 var products= context.Products
.FromSql("EXECUTE dbo.GetProducts")
.ToList();
用于参数 var productCategory= "Electronics";
var product = context.Products
.FromSql("EXECUTE dbo.GetProductByCategory {0}",productCategory)
.ToList();
要么 var productCategory= new SqlParameter("productCategory","Electronics");
var product = context.Product
.FromSql("EXECUTE dbo.GetProductByName @productCategory",productCategory)
.ToList();
执行RAW SQL查询或存储过程有一些限制.您不能将它用于INSERT / UPDATE / DELETE.如果要执行INSERT,UPDATE,DELETE查询,请使用ExecuteSqlCommand var categoryName = "Electronics";
dataContext.Database
.ExecuteSqlCommand("dbo.InsertCategory @p0",categoryName); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 如何将可视化设计器集成到开发过程中?
- asp.net-mvc – 使用ViewModels,EditModels和AutoMapper参考
- asp.net-mvc – 在ASP.NET MVC 3中授权当前用户对控制器和操
- asp.net – MSCharts“没有找到HTTP请求类型”GET“错误的处
- ASP.NET MVC尝试加载旧版本的Owin程序集
- asp.net-mvc-4 – 会话到期后重定向到特定页面(MVC4)
- 数组 – 如何在vbscript中实现具有可变大小的数组
- asp.net-mvc – 具有预设值的Html.HiddenFor
- asp.net-mvc – 当OutputPath设置时,“没有为项目设置Outpu
- asp.net-mvc-4 – MVC 4创建slug类型url
