C# 通过ADO实体公开存储过程的WCF web服务返回不同的数据结果
我有一个非常简单的存储过程,返回2列1行数据C# 通过ADO实体公开存储过程的WCF web服务返回不同的数据结果,c#,wpf,wcf,procedure,C#,Wpf,Wcf,Procedure,我有一个非常简单的存储过程,返回2列1行数据 SELECT client_id, client_code FROM wv.client_identifiers WHERE (client_code = @client_code) AND (version = 0) AND (facility_id = @facility_id) AND (is_active = 1) AND (client_version = 0) 这张桌子不可能有重复的。在过去两年中,当我们在web
SELECT client_id, client_code
FROM wv.client_identifiers
WHERE (client_code = @client_code)
AND (version = 0)
AND (facility_id = @facility_id)
AND (is_active = 1)
AND (client_version = 0)
这张桌子不可能有重复的。在过去两年中,当我们在web项目中测试此过程时,它按预期工作。在SSMS和Visual Studio服务器资源管理器中工作良好。当我们将此项添加到WCF服务项目的ADO.NET实体框架中时,问题就出现了
它看到了这个细节,创建了函数细节,复杂类型细节等等。我可以从WPF项目中调用这个细节,但是,返回的数据如果完全正确的话是不一致的
例如,我有3行
client_id client_code
1001 1252
1002 6655
1003 123
1004 111
1005 5522
如果我通过带有参数的服务点击上述过程,它将返回错误的结果
using(var context = new service.MyService())
{
var Clients = context.GetClientIDFromClient_Code(facility_id, true, client_code)
foreach(var client in Clients)
{
int ClientID = client.client_id;
}
- 如果传入参数值5522,则得到空结果
- 如果我传入参数值123,我将得到111的
和client_id 1004
的结果code
- 如果我传入参数值1252,我将得到
和代码111的结果客户机id 1004
- 如果我传入以
开头的任何内容,然后是我得到的相同结果1
- 如果我输入的任何内容不是以1开头,而是在DB中,并且应该返回,那么我得到null
提前感谢运行WCF调用时是否运行了SQL profiler?能否向我们展示表的结构?听起来好像您的列(虽然存储数值)是某种字符串类型。