へのLINQを使用して挿入トランザクションにレコードIDを返します:は、どのように私は、SQLの挿入コードにLINQを以下している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に一致するレコードを検索する場合は、データベーススキーマが有効な場合は、それらすべてに一致するレコードを1つだけ持つ必要があります。 –
私の投稿は、ファイル名、パス、またはそれらのプロパティのどれにも依存しないと主張しています。ほとんどの場合、一意ではないためです。もちろんCreationTimeは一意でなければなりません。 –
レコードのID列の値または物理レコードのROW_NUMBERを取得しようとしていますか? –