我试图使用Entity Framework Database First将数据列表从C#传递到SQL Server存储过程。SO和其他地方有很多关于该问题的文章,但是将变量数据传递到存储过程以及从数据库返回变量数据的引用并不明显。他们还倾向于将重点放在调用存储过程的代码上,但是我做不到。
在SSMS中创建并测试了用户定义的表类型和存储过程。该问题发生在C#中。更新模型(.edmx文件)时,发出以下警告:
警告4错误6005:函数“ uspGetBusyPersonsTVP”在参数索引2处具有参数“列表”,该参数的数据类型为“表类型”,目标实体框架版本当前不支持该数据类型。该功能被排除在外。
在模型浏览器中进行的检查显示,已在模型中创建了存储过程,但仅使用非TVP参数。
这个MSDN网站https://msdn.microsoft.com/zh-cn/data/hh859577.aspx说,自EF 5.0开始就支持表值参数,但本文仅讨论返回数据。
我刚刚完成更新,现在正在使用Visual Studio 2015社区,.Net 4.6和Entity Framework 6.1.3。有谁知道TVP是否可以传递给存储过程,或者是否有可能被支持?
我似乎偶然发现了C#IF语句给出错误结果的情况.我试图写一个版本的Equals()来深入比较一个类的两个实例.
这是一个带有一些调试的简单测试用例:
namespace IfTest
{
class MyClass
{
public string String1
{ get; set; }
public int Int1
{ get; set; }
public float Float1
{ get; set; }
public bool Bool1
{ get; set; }
public MyClass(string s, int i, float f, bool b)
{
String1 = s;
Int1 = i;
Float1 = f;
Bool1 = b;
}
public override bool Equals(object otherInstance)
{
bool isEqual = true;
MyClass other = (MyClass)otherInstance;
int good = 0, bad = 0; …Run Code Online (Sandbox Code Playgroud)