【问题标题】:Linq get last ID insertedLinq 获取最后插入的 ID
【发布时间】:2015-03-25 19:17:54
【问题描述】:

我正在尝试执行 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。

【问题讨论】:

标签: c# linq insert multiple-tables


【解决方案1】:

与其直接添加对象,不如先创建对象,然后像这样插入:

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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 2013-05-19
    相关资源
    最近更新 更多