Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 执行存储过程的实体框架不返回值_C#_Entity Framework_Stored Procedures_Dbcontext - Fatal编程技术网

C# 执行存储过程的实体框架不返回值

C# 执行存储过程的实体框架不返回值,c#,entity-framework,stored-procedures,dbcontext,C#,Entity Framework,Stored Procedures,Dbcontext,有没有人对变量工作返回743行,而变量不工作不返回任何行的原因有什么建议 据我所知,他们正在做同样的事情 我无法发布存储过程,但我不认为这是问题所在,因为我可以从第一个变量获得结果集 我尝试使用一个SQL跟踪——我是新手——但看不到任何有助于我解决这个问题的东西 var TretSpefParameter = new SqlParameter("TretSpef", "101"); var SexParameter = new SqlParameter("Sex", 1); var SDiagP

有没有人对变量
工作
返回743行,而变量
不工作
不返回任何行的原因有什么建议

据我所知,他们正在做同样的事情

我无法发布存储过程,但我不认为这是问题所在,因为我可以从第一个变量获得结果集

我尝试使用一个SQL跟踪——我是新手——但看不到任何有助于我解决这个问题的东西

var TretSpefParameter = new SqlParameter("TretSpef", "101");
var SexParameter = new SqlParameter("Sex", 1);
var SDiagParameter = new SqlParameter("SDiag", "*");

var works = await Context.Database.SqlQuery<sp_RefData_Predictive>("sp_RefData_Predictive @TretSpef = '101', @Sex = 1, @SDiag = '*'").ToListAsync();

var notWorks = await Context.Database.SqlQuery<sp_RefData_Predictive>("sp_RefData_Predictive @TretSpef, @Sex, @SDiag", TretSpefParameter, SexParameter, SDiagParameter).ToListAsync();
var TretSpefParameter=新的SqlParameter(“TretSpef”,“101”);
var SexParameter=新的SqlParameter(“Sex”,1);
var SDiagParameter=新的SqlParameter(“SDiag”,“*”);
var works=wait Context.Database.SqlQuery(“sp_RefData_Predictive@TretSpef='101',@Sex=1,@SDiag='*'”).ToListAsync();
var notWorks=await Context.Database.SqlQuery(“sp_RefData_Predictive@TretSpef、@Sex、@SDiag”、TretSpefParameter、SexParameter、SDiagParameter”).tolistsync();
我不得不改变:

@TretSpef, @Sex, @SDiag

@TretSpef=@TretSpef、@Sex=@Sex、@SDiag=@SDiag
var notWorks=await Context.Database.SqlQuery(“sp_RefData_Predictive@TretSpef=@TretSpef,@Sex=@Sex,@SDiag=@SDiag”,TretSpefParameter,SexParameter,SDiagParameter)。toListSync();

查看一下:发布存储过程声明。您在第一次调用中使用的是命名参数,但在第二次调用中使用的是位置参数,这可能会导致参数分配不匹配。旁注:您不应在存储过程中使用
sp_u
前缀。微软已经这样做了,而且你确实有可能在将来的某个时候发生名称冲突。最好只是简单地避免使用
sp.
并使用其他东西作为前缀,或者根本不使用前缀!
@TretSpef=@TretSpef, @Sex=@Sex, @SDiag=@SDiag


var notWorks = await Context.Database.SqlQuery<sp_RefData_Predictive>("sp_RefData_Predictive @TretSpef=@TretSpef, @Sex=@Sex, @SDiag=@SDiag", TretSpefParameter, SexParameter, SDiagParameter).ToListAsync();