2014-04-01 48 views
0

我試圖從LINQ到SQL的SQL Server 2012中獲取自動生成的標識。使用LINQ從SQL Server獲取自動生成的標識

但是,當我將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。

+0

你插入'meoData'而是試圖從'meo'閱讀。 – MarcinJuraszek

回答

1

您提交meoData,這將給你的ID

嘗試做

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

謝謝,這就是我正在尋找的! – joetinger