我有以下的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