c# - 带有存储过程和用户​​定义表类型参数的 LINQ to SQL

标签 c# linq-to-sql stored-procedures

我在 SQL Server 2008 中使用 LINQ to 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 已经出来之后。

到目前为止,我还没有在任何博客文章中发现任何关于在 .NET 4.0 中支持 LINQ2SQL 中的表值参数的内容。

更新:
这是一个 blog post by Damien Guard关于 .NET 4.0 时间范围内 Linq-to-SQL 的修复和改进。

更新 2:
不幸的是,根据 Damien 的说法,此功能在 .NET 3.5 中不受支持,在 .NET 4.0 中也将不受支持:-(

目前无法在 3.5 或 4.0 中完成
:( [) friend 们

关于c# - 带有存储过程和用户​​定义表类型参数的 LINQ to SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1019414/

相关文章:

c# - 如何将委托(delegate)添加到接口(interface) C#

c# - 使用 SharpZipLib 时 - 无法从 MemoryStream 中提取 tar.gz 文件

c# - 如何将序列化 LINQ to SQL 实体添加到 Word 2007 文档

c# - 我可以制作一个接受多个表和泛型类型的泛型 CompiledQuery 吗?

sql - 使用存储过程在同一数据库中以一种方式同步两个表

mysql - MySQL 中简单和复杂存储过程的线程安全

mysql - 在 MySQL 存储过程中使用参数 WHERE-CLAUSE 会降低性能

c# - 检查这个星期一是否是一个月中的最后一个星期一

c# - 如何更改注册表中的文件类型关联?

c# - Linq-to-SQL 结合两个 Expression<Func<T, bool>> ("where clause") 与 and/or