C# UnitTest报告SQL错误-找不到数据类型
我使用以下代码:C# UnitTest报告SQL错误-找不到数据类型,c#,sql-server,entity-framework,C#,Sql Server,Entity Framework,我使用以下代码: using (var unitOfWork = this.unitOfWorkFactory.Create()) { var tagParam = new SqlParameter { ParameterName = "@tagList", SqlDbType = System.Data.SqlDbType.Struc
using (var unitOfWork = this.unitOfWorkFactory.Create())
{
var tagParam = new SqlParameter
{
ParameterName = "@tagList",
SqlDbType = System.Data.SqlDbType.Structured,
Value = tags.ToTVP(),
TypeName = "[dbo].[TagList]"
};
unitOfWork.Context.Database.ExecuteSqlCommand("exec sp_InsertTagList @tagList", tagParam);
// unitOfWork.Context.Database.ExecuteSqlCommand("INSERT INTO dbo.Tags SELECT Name FROM @tagList", tagParam);
}
ToTvp
只是一种扩展方法,它从项目列表中为我生成一个DataTable
我得到这个错误:
测试方法InspiredBlog.UnitTests.UnitTest1.TestMethod1
异常:System.Data.SqlClient.SqlException:列、参数或
变量@tagList.:找不到数据类型dbo.TagList
我已经在我的数据库中创建了表类型
CREATE TYPE TagList AS TABLE
(
Name VARCHAR(MAX)
)
GO
我不知道为什么这个错误又回来了
我可以轻松创建SQL查询并在SSMS中执行您在数据库中的类型是否具有dbo作用域?是的,dbo.taglist尝试在SSMS中使用您试图从代码传递的参数值执行SP。使用探查器连接到数据库并查看query@PareshJadhav我已经可以在SSMS中执行它了!我来看看剖析器