2
我正在使用SubSonic 3.0.0.3以及Linq T4模板。我ProjectRepository,例如,有以下兩種方法:如何獲取與SubSonic 3 LinqTemplate插件關聯的標識列值?
public int Add(Project item)
{
int result = 0;
ISqlQuery query = BuildInsertQuery(item);
if (query != null)
{
result = query.Execute();
}
return result;
}
private ISqlQuery BuildInsertQuery(Project item)
{
ITable tbl = FindTableByClassName();
Insert query = null;
if (tbl != null)
{
Dictionary<string, object> hashed = item.ToDictionary();
query = new Insert(_db.Provider).Into<Project>(tbl);
foreach (string key in hashed.Keys)
{
IColumn col = tbl.GetColumn(key);
if (col != null)
{
if (!col.AutoIncrement)
{
query.Value(key, hashed[key]);
}
}
}
}
return query;
}
隨着執行插入(偉大的工程),我真的很想得到自動遞增專案編號列的值。爲了記錄,這個列是主鍵和標識列。有沒有辦法追加「SELECT SCOPE_IDENTITY();」到查詢或者可能有一個完全不同的方法,我應該嘗試?
感謝羅布。那就是訣竅。在發佈SubSonic 3之前,我使用了ActiveRecord和SubSonic 2.2,並且非常喜歡它,但我認爲我會爲Linq模板嘗試這個項目。到目前爲止,我對新模板感到非常滿意。再次感謝您在這裏提供的幫助之手。 – 2009-10-20 19:15:12