2014-07-10 25 views
0

如何獲得Ident_Current from linq
我曾試過這段代碼,但得到錯誤的數據作爲回報。從Linq獲取Ident_Current

HamdeshDatabaseEntities hmd = new HamdeshDatabaseEntities(); 
int varMaxAdvertiseId = Convert.ToInt32(hmd.Database.ExecuteSqlCommand("Select IDENT_CURRENT ('HMDAdvertiseManage')").ToString()); 

當我在服務器上執行選擇IDENT_CURRENT( 'HMDAdvertiseManage'),它返回CurrentId
但當我通過Linq在前端執行它總是返回-1
我不知道爲什麼我得到這個。
請建議我一個更好的選擇

回答

5

你必須使用SqlQuery,而不是ExecuteSqlCommand

HamdeshDatabaseEntities hmd = new HamdeshDatabaseEntities(); 
int varMaxAdvertiseId = Convert.ToInt32(hmd.Database.SqlQuery<decimal>("Select IDENT_CURRENT ('HMDAdvertiseManage')", new object[0]).FirstOrDefault()); 

ExecuteSqlCommand將返回受到您的INSERT/UPDATE/DELETE語句的行數。 在您的示例中,它返回-1,因爲它沒有影響任何行。

+0

非常感謝.... –