【问题标题】:Get AutoGenerated Id from SQL Server using LINQ使用 LINQ 从 SQL Server 获取自动生成的 ID
【发布时间】:2014-04-01 18:15:26
【问题描述】:

我正在尝试使用 LINQ-to-SQL 从我的 SQL Server 2012 获取自动生成的 ID。

但是,当我将 Id 分配给变量时,提交后我每次都得到 Id = 0 的值。我猜这只是默认的int 值,它实际上并没有获取自动生成的 ID。关于我做错了什么或如何正确解决问题的任何想法?

模型视图

[Column(IsPrimaryKey = true, IsDbGenerated = true )]
public int Id { get; set; }

存储库

var meoData = new MEO ()
{
    //a bunch of data assigned to the columns (Id is not assigned)
}
_dataContext.MEOs.InsertOnSubmit(meoData);
_dataContext.SubmitChanges();

//Create word doc
CreateWordDoc doc = new CreateWordDoc(meo);
int test = meo.Id;

meo.Id 的值始终返回为 0,而不是其真正的自动生成的 Id。

【问题讨论】:

  • 您正在插入 meoData,但尝试从 meo 读取。

标签: c# sql-server asp.net-mvc linq


【解决方案1】:

您提交的 meoData 将为您提供 id

试试看

 CreateWordDoc doc = new CreateWordDoc(meo);
 meo.Id= meoData.id
 int test = meo.Id;

【讨论】:

  • 谢谢你,这就是我要找的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多