views:

1438

answers:

1

I am using LINQ to SQL with stored procedures in SQL Server 2008. Everything work well except one problem. L2S cannot generate the method for the stored procedure with user defined table type as parameter. Method signature in dbml design panel use object for parameter type instead of table type and when I tried to compile I got error:

Error: DBML1005: Mapping between DbType 'Structured' and
Type 'System.Object' in Parameter 'ParaName' of Function 'dbo.StoredProcName'
is not supported.

Is there a way to work around this of this problem? I don't want to go back to traditional ADO.NET data access.
Thanks

+2  A: 

I don't think there's anything available right now - table-valued parameters were introduced in SQL Server 2008 - after LINQ and LINQ2SQL were out already.

I haven't found any mention in any of the blog post about support for table-valued parameters in LINQ2SQL in .NET 4.0 so far.

UPDATE:
Here's a blog post by Damien Guard on the fixes and improvement for Linq-to-SQL in the .NET 4.0 time frame.

UPDATE 2:
Unfortunately, according to Damien, this feature isn't supported in .NET 3.5, and will not be supported in .NET 4.0 either :-(

Can't be done in 3.5 or 4.0 right now
:( [)amien

Marc

marc_s
Do you have any info on new feature (if any) in L2S in .NET4.0?
Dmitri Kouminov
Interesting. There is a light at the end of the tunnel. LINQ to SQL is alive. Great. Thanks.
Dmitri Kouminov
This answer kills me :( Nope, it's not your fault marc_s :) ... a mate and I are wanting to do L2S + TVP's today and cried when we thought we were so close to a killer solution :) Back to ole ADO.NET for this one tiny part of our applications.
Pure.Krome