Linq获取最后一个ID

Ric*_*usa 1 c# linq insert multiple-tables

我试图做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();
Run Code Online (Sandbox Code Playgroud)

就像它一样,last_fich给我第一行的id CWC_FICHEIROS.

Hab*_*bib 5

不是直接添加对象,而是先创建对象,然后插入如下:

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();
Run Code Online (Sandbox Code Playgroud)

稍后您可以访问其ID:

Console.WriteLine(yourObject.ID);
Run Code Online (Sandbox Code Playgroud)

不要依赖db.CWC_FICHEIROS.Max,数据库中可能同时存在多个插入,并且最终可能会出现错误的ID.