Linq 获取最后插入的 ID
Linq get last ID inserted
我正在尝试执行 2 个 linq 插入查询。第二个需要第一个查询中最后插入的 id 值。
如何获得 last_id_inserted (last_fich)?
db.CWC_FICHEIROS.Add(new CWC_FICHEIROS
{
idfiletype = newextID,
filename = fileName,
fileurl = fileName,
fileordem = "AA001",
filedate = System.DateTime.Now,
fileact = true
});
last_fich = db.CWC_FICHEIROS.Max(item => item.id_file);
db.CWC_FILESSUBCONTEUDOS.Add(new CWC_FILESSUBCONTEUDOS
{
idfile = last_fich,
idsubconte = cwc_subconteudos.idcont,
fscact = true
});
db.SaveChanges();
就像这样,last_fich
给了我 CWC_FICHEIROS
第一行的 id。
与其直接添加对象,不如先创建您的对象,然后像这样插入:
var yourOjbect = new CWC_FICHEIROS
{
idfiletype = newextID,
filename = fileName,
fileurl = fileName,
fileordem = "AA001",
filedate = System.DateTime.Now,
fileact = true
};
db.CWC_FICHEIROS.Add(yourObject);
db.SaveChanges();
稍后您可以访问其 ID 为:
Console.WriteLine(yourObject.ID);
不要依赖 db.CWC_FICHEIROS.Max
,数据库中可能同时有多个插入,您可能会得到错误的 ID。
我正在尝试执行 2 个 linq 插入查询。第二个需要第一个查询中最后插入的 id 值。
如何获得 last_id_inserted (last_fich)?
db.CWC_FICHEIROS.Add(new CWC_FICHEIROS
{
idfiletype = newextID,
filename = fileName,
fileurl = fileName,
fileordem = "AA001",
filedate = System.DateTime.Now,
fileact = true
});
last_fich = db.CWC_FICHEIROS.Max(item => item.id_file);
db.CWC_FILESSUBCONTEUDOS.Add(new CWC_FILESSUBCONTEUDOS
{
idfile = last_fich,
idsubconte = cwc_subconteudos.idcont,
fscact = true
});
db.SaveChanges();
就像这样,last_fich
给了我 CWC_FICHEIROS
第一行的 id。
与其直接添加对象,不如先创建您的对象,然后像这样插入:
var yourOjbect = new CWC_FICHEIROS
{
idfiletype = newextID,
filename = fileName,
fileurl = fileName,
fileordem = "AA001",
filedate = System.DateTime.Now,
fileact = true
};
db.CWC_FICHEIROS.Add(yourObject);
db.SaveChanges();
稍后您可以访问其 ID 为:
Console.WriteLine(yourObject.ID);
不要依赖 db.CWC_FICHEIROS.Max
,数据库中可能同时有多个插入,您可能会得到错误的 ID。