【问题标题】:Return uniqueidentifier in MSSQL Stored Procedures using LINQ to SQL使用 LINQ to SQL 返回 MSSQL 存储过程中的唯一标识符
【发布时间】:2012-02-29 14:57:25
【问题描述】:

我有一个存储过程,我想返回一个唯一标识符。所以我将一个唯一标识符声明为 OUTPUT。但后来我“拖放”它执行我的 LINQ to SQL DataClass 并且它无法识别我的返回类型。它只识别 int 或我的 linq 类。

我应该如何返回唯一标识符,以便可以将其与 LINQ 一起使用?

【问题讨论】:

    标签: c# .net linq-to-sql stored-procedures uniqueidentifier


    【解决方案1】:

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

    解决方案:

    对于使用 System.Data.SQLClient 的 .Net 客户端

    解决方案是在插入语句中使用 OUTPUT 子句,这样 生成的主键可以用 SqlCommand 对象的 ExecuteScalar() 方法。

    为了。使用 LINQ to SQL 的网络客户端

    因为在这种情况下 SQL Server 会生成主键,所以 LINQ to SQL 只有在 Column 属性具有 IsDbGenerated=true 属性应用于实体属性 对应于底层主键列。

    关于这个问题还有一个关于SO的问题:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多