我有以下LINQ to 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?
答案 0 :(得分:4)
首先,您应该调用传递IpsJobFileQueue
实例的Table<TEntity>.InsertOnSubmit(TEntity)方法来保持。然后,在DataContext.SubmitChanges()方法完成后,您可以从IpsJobFileQueue
对象上的相应属性中检索指定的主键值。
var db = new IpsDBDataContext();
var record = new IpsJobFileQueue();
db.IpsJobFileQueues.InsertOnSubmit(record);
db.SubmitChanges();
return record.Id; // Contains the assigned primary key value
在此示例中,IpsJobFileQueue.Id
是相应数据库表的mapped to the primary key column属性。