我使用LINQ与SQL Server 2008中存储过程只是一个问题,一切都起到了很好的SQL语句。 L2S不能生成用于与用户定义的表型作为参数存储过程的方法。 在DBML设计面板使用对象参数类型,而不是表类型的方法签名,当我试图编译我得到了错误:
Error: DBML1005: Mapping between DbType 'Structured' and
Type 'System.Object' in Parameter 'ParaName' of Function 'dbo.StoredProcName'
is not supported.
有没有办法来解决这个这个问题的? 我不想回到传统的ADO.NET数据访问。
我不认为有什么可现在 - 表值参数在SQL Server 2008中引入 - 后LINQ和LINQ2SQL都出来了。
我还没有发现任何的博客文章在LINQ2SQL在.NET 4.0中,到目前为止表值参数支持的任何提及。
更新:
这里有一个博客帖子达米安卫队对在.NET 4.0的时间框架的修正和改进对LINQ到SQL。
更新2:
不幸的是,根据达,此功能不支持在.net 3.5,将不支持在.NET 4.0中任一:-(
无法在3.5或4.0,现在做
:( [)amien
我偶然发现这个职位 ,提供调用与LINQ2SQL TVP参数的存储过程的一种手段。 这是一个关于方法一轮,基本上创建您的DataContext的部分类扩展和使用的SqlCommand通过一个DataTable。 我希望它能帮助。
我有完全相同的问题,并从以下链接瑞安Prechel的示例代码帮我解决这个问题。
如何通过表值参数,从.NET代码存储过程