我有以下的LINQ to SQL插入代碼:如何回報使用LINQ插入交易記錄ID,以SQL
public static int InsertFileToQueue(FileInfo file)
{
int? recordID = null;
IpsDBDataContext db = new IpsDBDataContext();
IpsJobFileQueue record = new IpsJobFileQueue();
record.FileName = file.Name;
record.FilePath = file.FullName;
record.PickupDate = file.CreationTime;
record.StartTime = null;
record.EndTime = null;
record.ProcessCode = null;
db.SubmitChanges();
return recordID;
}
某處後,我知道db.SubmitChanges()
我需要添加一些代碼來檢索我剛剛插入的記錄上的ID。我不能依賴的東西是文件名(因爲許多這些文件將被命名爲相同的),當然不是任何時間。
那麼我要查詢什麼來獲取ID?
使用SELECT語句。如果你做了INSERT,你應該能夠選擇添加記錄的ID。如果您執行SELECT並找到與FileName,FilePath,PickupDate,StartTime,EndTime,ProcessCode匹配的記錄(如果您的數據庫模式有效),則應該只有一條匹配所有這些記錄的記錄。 – 2012-02-08 20:03:32
我的文章狀態我不能依賴文件名,路徑或任何這些屬性,因爲它們在大多數情況下不會是唯一的。 CreationTime應該是唯一的,當然。 – 2012-02-08 20:04:58
您是否試圖獲取記錄或物理記錄的ROW_NUMBER上的標識列的值? – 2012-02-08 20:06:51