我在一个问题上需要一些帮助,我似乎找不到解决方案。我有一个接受两个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使用右键单击"打开…",然后
- 找到参数名,将varchar改为nvarchar
不可能使用"模型浏览器"属性(F4)更改这些字段。
希望能有所帮助。