2012-02-29 78 views
1

我有一个存储过程,并且我希望返回一个uniqueidentifier。所以我宣布了一个uniqueidentifier作为OUTPUT。但后来我“拖放”它做我的LINQ to SQL DataClass,它不会识别我的returntype。它只识别int或我的linq类。使用LINQ to SQL返回MSSQL存储过程中的uniqueidentifier

我该如何返回uniqueidentifier以便我可以在LINQ中使用它?

回答

0

我找到了对how to return a uniqueidentifier的解释。它包含一些关于返回Guid的例子。

解决方案:

对于使用System.Data.SqlClient的

的解决方案是使用OUTPUT子句与插入语句,以便 所产生的主密钥可以与所述被提取.Net客户端 SqlCommand对象的ExecuteScalar()方法。

对于。使用LINQ to SQL

因为SQL Server生成此方案中的主键.net客户端中, LINQ到SQL才会正常,如果列有 IsDbGenerated = true属性属性工作应用到 对应的实体属性底层的主键列。

还有SO上对这个问题一个问题:

LINQ to SQL entity column name attribute ignored with guid primary key

相关问题