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。