用 ef 执行存储过程无法获取返回值

用ef执行mysql获取返回值
数据库倒入模型,执行存储过程方法生成成功,生成的返回类型中没有字段、自己加了字段后
调取存储过程返回值中各字段指为空,但是再数据库中输入同样的参数有返回值。

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
EF中执行存储过程,获取output返回值
EF不能直接支持执行存储过程,于是使用转化成执行SQL语句的形式,却怎么也获取不到output的值,折腾的好久,终于解决了,分享下曲折的经历: public int AddVote(int titleId, int blockId, int typeId) { List paramArray = new List(); paramA
EntityFramework存储过程的返回类型
使用EntityFramework可以很方便的与数据库打交道,但是对于存储过程,返回类型很让人纠结,默认只返回受影响的行数,而我们在使用存储过程时往往是会返回一串的数据或者一个表。那有没有什么方法呢? 我们知道在SQL2008是支持表类型的,如果存储过程在执行完成后返回了一个表类型,在EF端再接收一下,那是不是就可以了呢?事实证明是可行的。我们需要分几个步骤。 1.在数据库中建立一个表类型,比
EF操作存储过程调用
1、执行返回数据列表型     CREATE PROCEDURE [dbo].[SP_ManageForumGroupsPostRecycle] @userId VARCHAR(128),  --用户ID AS BEGIN SET NOCOUNT ON; DECLARE @rowId INT  SET @rowId=( @page - 1 ) * @pageSize; --
MVC EF执行带输出参数的存储过程
public ActionResult StoredProcedure(int id = 1) { using (var db = new DataContext()) { var pageSize = 5; var startIndex = (id - 1)*pageS
EF获取存储过程多返回结果
在使用EF来获取存储过程结果时,当存储过程返回一个结果,那么我们可以使用生成的返回结果类即可,当返回多结果时,自动生成的就不够使用了,这时我们需要对生成的EF中xml文件进行配置。 环境要求:EF版本要求 5.0以上,项目的 .NET Framework 需要4.5以上。 配置: 1、找到函数导入配置项 FunctionImport,如下为自动生成的配置
EF调用存储过程无法返回复杂类型,提示所选存储过程或函数未返回任何列
VS2012 EF中无法生成复杂数据类型,提示所选存储过程或函数未返回任何列 EF本身有许多缺陷,这个可能是EF其中之一,你可以先通过只包含最简单的"select * from A left Join B ON ···" 的存储过程,生成最终的复杂类型。实体类生成以后,你再修改存储过程,将一些逻辑判断加入存储过程。当然你也可以通过其他的方式调用存储过程。不要在一棵树上吊死。
linq to entity 调用存储过程(带返还结果集的存储过程)
linq to entity 调用存储过程: 步骤一:像添加表一样添加存储过程 如下图:     然后在Model Browser窗口中右击已经增加的存储过程——》Add Function Import 如下图:   依次 选择Stored Procedure Name、点击Get Column Information、点击Create New Complex Type 、
EFDatabase.ExecuteSqlCommand 返回值
EFDatabase.ExecuteSqlCommand 返回值 如: string sql = @"UPDATE Users set money=isnull(money,0)+{0} where UserID>{1} ";                 int result =(int) db.Database.ExecuteSqlCommand(sql, money,userId )
EF框架下调用 调用Oracle 存储过程
EF框架下调用 调用Oracle 存储过程
MVC学习笔记四:利用Entity Framework调用存储过程
MVC利用EF调用存储过程 这一章记录一下,如何通过EF调用数据库中的存储过程。 依然按照前面的两种数据库操作方式,一种是DbContext,第二种是ObjectContext. 一.DbContext 待续。
entity framework 6.0 EF6 执行存储过程,sql语句
在网上搜寻了好多,我想好的是简单的解决方法,不是那么多配置的,
EF 存储过程(下)
本节,我们将学习如何手动添加/修改存储过程,如何使EF能够支持Output类型的参数 > 添加/修改存储过程 有时候,某个SQL语句比较复杂,但是数据库中又没有定义相应的存储过程。这个时候,我们又想使上层代码比较简单、方便的方式来完成此项任务。那么,此时,我们便可以手工在实体模型(.edmx文件)中添加自己需要的存储过程了。这样既方便上层调用又方便后期的修改。 以手动修改实体模型ed
EF中使用SQL语句或存储过程
1、无参数查询 var model = db.Database.SqlQuery("select* from UserInfoes ").ToList();   2、有参查询 var model = db.Database.SqlQuery("select* from UserInfoes where id=@ID ",new SqlParameter("@ID",id))
EF框架调用存储过程
新到的公司项目用EF+MVC,开始接触,遇到hen
C#调用存储过程 返回值,输出参数,返回结果集
<br />System.Data.SqlClient.SqlConnection sqlSvrDbCnt = new System.Data.SqlClient.SqlConnection();  //数据库连接对象<br />            System.Data.SqlClient.SqlDataAdapter sqlSvrDbAdp = null;                 //数据适配器对象<br />            System.Data.SqlClient.SqlComm
VB6下的ado Command调用存储过程,读取返回值
最近在给老程序(VB6+SQL2005+水晶报表)添加备份、恢复数据库功能。真心是手动备份数据库太劳累,且显得不专业,呵呵。调用sp_addumpdevice过程时,发生这SP有返回值,度娘了一圈,很少有提出存储过程返回值如何在ADO Command中如何引用。 瞎写的代码,总是提示:@cntrltype未声明为OUTPUT,但形参还需要输出,等等。 但打开sp_addumpdevice存储过
EFCore执行Sql语句的方法:FromSql与ExecuteSqlCommand
前言 在EFCore中执行Sql语句的方法为:FromSql与ExecuteSqlCommand;在EF6中的为SqlQuery与ExecuteSqlCommand,而FromSql和SqlQuery有很大区别,FromSql返回值为IQueryable,因此为延迟加载的,可以与Linq扩展方法配合使用,但是有不少的坑(EFCore版本为1.1.0),直接执行Sql语句的建议不要使用From
EF core 2.0 调用MySql数据库存储过程
前提: database first,在数据库建立好了存储过程,然后在代码中直接调用 存储过程名称为 proceduertest,有一个输入参数为 c varchar(100) 调用方法: string parm = "ss"; _context.Database.ExecuteSqlCommandAsync("call proceduertest(@p0
使用EF来调用存储过程
1:首先先贴上一个简单的存储过程USE [testActice] GO /****** Object: StoredProcedure [dbo].[selectTable] Script Date: 06/12/2017 15:38:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GOALTER PROCEDURE [dbo
EF中映射Oracle存储过程及调用出现的一些问题
最近的系统开发使用的是Oracle数据库,因为要用到EF来映射,出现了几个问题,因为公司管理的原因,我无法截图并上传出来,只能靠记忆写大致的方法 1、添加的存储过程没出现, 在VS中更新模型或者新增的时候,如果直接选中存储过程,点击完成,在Model Browser里面并没有出现,这个时候应该手动把Server Explorer里面的存储过程run了之后的add config,在con
java和ibatis调用存储过程并取得返回值
http://blog.csdn.net/jiandanfeng2/article/details/6609623 由于存储过程的一系列好处,比如减少sql语句的网络传输等等。使得很多开发人员喜欢用存储过程,笔者也喜欢啊。下面分别介绍下java调用存储过程和ibatis调用存储过程并取得返回值,由于笔者最近开始接触ibatis,所以选了ibatis作为例子说明。       虽然存储过
PB中调用存储过程获取返回值
本文拟以SYBASE ASE 10.X和11.X数据库为例,说明如何在PB脚本当中获取存储过程的返回值。作为一个存储过程,其输出的结果数据可能包括三类:SELECT结果集、RETURN结果、OUTPUT参数。尽管输出方式众多,但PB脚本仅仅借助简单的FETCH…INTO…语句即可全部获取这些输出数据,具体方式如下:(一)在SYBASE ASE 10.X和11.X数据库当中创建一个存储过程deptro
Entity framework调用存储过程,事务问题
问题描述 Entity framework 调用存储过程,使用database first生成的方法和db.database.ExecuteSqlCommand调用,都产生异常:无法执行该操作,因为链接服务器 "xxxxx" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务 该伙伴事务管理器已经禁止了它对远程/网络事务的支持 问题原因 被调方法本身都启用了事务,而存储过
Entity Framework Code First (六)存储过程
声明:本文只针对 EF6+   默认情况下,Code First 对实体进行插入、更新、删除操作是直接在表上进行的,从 EF6 开始你可以选择使用存储过程(Stored Procedures)   简单实体映射 Basic Entity Mapping   注意:本文将使用 Fluent API 来配置使用存储过程 public class Blog {
Java调用存储过程(有返回值)
1:创建存储过程 此存储过程通过传入的参数(Name),返回一个参数(address)。 create or replace procedure demo_procedure(namedemo in varchar2,addressdemo out varchar2) as begin  select address into addressdemo from system.de
oracle 执行存储过程返回值
先建好表,然后写带输出参数的存储过程 CREATE OR REPLACE PROCEDURE ST_VALIDATEUSER(                 NAME IN VARCHAR2, PWD IN VARCHAR2 ,                 ISVAL
VB6下Command获取SQL存储过程返回值
最近在给老程序(VB6+SQL2005)添加数据库备份、恢复功能。以前没写是因为太懒。在使用ado Command调用存储过程sp_addumpdevice时,发现存储过程有返回值(0——成功,1——失败)。但按照之前的书写格式,把结果声明了一个参数,放在所以传入参数的后面,也提示错误。就提示@cntrltype未声明为OUTPUT,则形参需要输出的类似错误。 查看了sp_addumpdevic
Entity Framework(EF) 直接执行数据库命令并返回 DataTable 数据参数化 SQL 语句
//调用方法         private void button1_Click(object sender, EventArgs e)         {             string id = "1";             string sql = "select * from table1 where id = @id";             #regio
Linq to sql:带返回值的存储过程
带返回值的存储过程 再来创建第三个存储过程: create proc [dbo].[sp_withreturnvalue] @customerid nchar(5) as set nocount on   if exists (select 1 from customers where customerid = @customerid)
cx_Oracle如何获取存储过程的返回值
示意如何获取存储过程的返回值
php与mssql存储过程的返回值
最近有个项目需要用php调用mssql的存储过程,使用中发现一个问题,无论如何取不到存储过程的返回值。查了不少资料才找到原因。写一下找到的解决办法,给有需要的人看看。先写一个测试用的mssql存储过程TestALTER procedure Test as return (9) GO 没有任何输入和输出,只有一个返回值9原先的代码$db_host='xxx.xxx.xxx.xxx'; $db_user='xxxx'; $db_pass='xxxx'; $db_name='xxxxr';
mybatis调用mysql存储过程(返回值问题)
一、xml配置文件有两种写法     1、              {call PROC_SEQ_SEED_GET(?,?,?,?,?)}                                                                 2、         statementType="CALLABLE" >         {ca
EF和LINQ 调用存储过程
好久没有更新文章了,最近项目比较忙都没什么时间来分享最近的问题。 今天遇到一个超级傻逼的问题。C#中调用存储过程,自己code也10来年了,这应该是很简单的问题了。今天有2个新的api,一个只有1个参数, 一个有10多个参数,先前没有注意到对象类型, 以为是EF的DbContext,结果后来才发现是LINQ的DataContext对象。以前调用存储过程都是靠设计界面封装成方法。 现在designe
Hibernate调用带返回值的存储过程的方法
Hibernate调用带返回值的存储过程的方法
调用存储过程与返回值
调用存储过程与返回值 SqlConnection cn = new SqlConnection("server=.;uid=sa;pwd=;database=Northwind"); SqlCommand cmd = new SqlCommand("InsertCategory", cn); cmd.CommandType = Comman
在ABP中通过EF直接执行原生Sql的解决方案
一般情况下,使用EF中的查询语法和方法语法可以帮助我们完成绝大部分业务,但是也有特殊的情况需要直接执行Sql语句。比如,我们的业务过于复杂繁琐,或是有些业务使用EF操作时比较复杂,但是使用Sql时会很简单等等。 今天做项目的时候,就由于使用EF来处理逻辑时格外棘手,最终选择了直接执行Sql语句,下面说说具体的业务。 一共关系到三张表,分别是Operators(运营商表),Orders(订单表)
PB调用带返回值的存储过程
/** 实例变量: string is_vouchertype = '',is_jd = '' ,is_accountnum = '' **/ string ls_sqlerrtext,ls_sql_out sqlca.autocommit = false DECLARE p_voucher_setsql PROCEDURE FOR p_voucher_setsql @vou
在C#中使用EntityFramework(EF)生成实体进行存储过程的调用
今天琢磨了一天弄这个问题,真是很郁闷。 我需要在EF中使用定义对象模型的方式调用一个存储过程,这个存储过程返回的是一组包含两列的值。(ProjectName,Count) 下面是存储过程: CREATE procedure [dbo].[Pro_Project_By_UserID]     @userID nvarchar(36) AS  SELECT Project AS Proje
python 使用 pymssql 调用存储过程并让他返回值
python 使用pymssql 让存储过程返回值。
Delphi下调用有返回值的存储过程
<br />对于存储过程的调用使用的控件TADOStoredProc。<br />创建方法和连接都很简单。<br />StorPro:=TADOStoredProc.Create(nil);<br />然后定义存储过程的名字和输入参数:<br />StorPro.ProcedureName:=ProName;<br />StorPro.Parameters.clear;<br />StorPro.Close;<br />StorPro.Parameters.CreateParameter('as_gh',
shell脚本接收存储过程返回值
shell获取存储过程的返回值 一:shell.sql文件 var O_strReturn varchar2; call DND_IGMethod_Search2_SP(‘DEM’,’HAM’,:O_strReturn); SELECT ‘return|’||:O_strReturn FROM dual; commit; exit; 二:shell.sh!/bin/bashHOSTNA
Yii2调用mysql存储过程获取返回值
Yii2调用mysql存储过程获取返回值
dapper存储过程输出值
SQL代码:     USE [Book] GO /****** Object:  StoredProcedure [dbo].[User_Maneger]    Script Date: 10/26/2013 18:48:41 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /*用户信息存储过程*/ AL
kettle 查询 存储过程
-
Java执行Oracle存储过程并接收返回值
Java执行Oracle存储过程并接收多个返回值(集合/数值)
在Qt5.4中调用 sql server 2008 的存储过程如何获取返回值
首先我参考了http://m.blog.csdn.net/blog/wey123456789/38902309 参照上面的博客终于读到了存储过程的返回值 bool sql_insert_Customer(Customer &Cus) { QSqlQuery query(db); int s; query.prepare("exec ? = proc_insert_Cus
JAVA执行存储过程接收返回值
List result = new ArrayList();//接收值所用的列表 Connection conn = DAOFactory.getDAOFactory().getConnection();//根据项目情况打开连接(这里只是我项目的打开方式) CallableStatement statement = conn.prepareCall("{call up_GetDept(?)}")
entity framework(EF) 直接执行数据库命令并返回DataTable 参数化sql语句
entity framework(EF) 直接执行数据库命令 //调用方法 private void button1_Click(object sender, EventArgs e) { string id = "1"; string sql = "select * from table1 where id
jdbc 调用存储过程并返回值
<br />  CallableStatement cstmt = null;<br />  cstmt = conn.prepareCall("call bat_active_alert(?,?,?)");<br />  cstmt.setString(1,comp_code);<br />  cstmt.setString(2,func_code);<br />  cstmt.registerOutParameter(3, java.sql.Types.INTEGER);//pintSuccess_cn
PHP调用sqlserver存储过程并获取返回值
1.获取连接 public function getConn($dbHost, $dbName, $dbUser, $dbPass) { $dsn = 'sqlsrv:server='.$dbHost.';Database='.$dbName; $conn= new PDO($dsn, $dbUser, $dbPass); $conn->setAttribute(PDO::AT
立即提问