使用unicode参数与ExecuteFunction SP调用



我在一个问题上需要一些帮助,我似乎找不到解决方案。我有一个接受两个nvarchar参数的SQL Server存储过程。在我的c#代码中,我使用以下设置调用SP:

searchStringParameter = new ObjectParameter("searchString", "有者明确的");
filterParameter = new ObjectParameter("filterParameter", "Approved");
return base.ExecuteFunction<Nullable<global::System.Int64>>("Find", searchStringParameter, filterParameter);

然而,在SQL Server端,它捕获参数为:"?????"(5个问号)和"已批准"

任何想法?

我们遇到了类似的情况,因为我们的SP最初将参数定义为varchar而不是nvarchar。在某种程度上,它被纠正为nvarchar。

我们仍然会在c#端看到unicode和"? "

然而,做一个EF6"更新"并没有改变edmx。有必要:

    手动打开edmx使用右键单击"打开…",然后
  1. 找到参数名,将varchar改为nvarchar

不可能使用"模型浏览器"属性(F4)更改这些字段。

希望能有所帮助。

最新更新