使用LINQ从SQL Server获取AutoGenerated Id

时间:2014-04-01 18:15:26

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

我正在尝试使用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。

1 个答案:

答案 0 :(得分:1)

您提交的meoData将为您提供ID

尝试做

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