gpt4 book ai didi

linq - 使用 linq toEntity 获取新添加记录的 ID

转载 作者:行者123 更新时间:2023-12-02 11:49:19 25 4
gpt4 key购买 nike

嗨,这是我使用 linq toEntity 的第一个项目。我已经弄清楚如何创建新记录,我只需要获取分配给它的 ID,这样当我在扩展表中添加条目时,我就可以将它用作扩展表中的 FK。我允许用户创建请求,该请求可以针对多个设备,因此我有一个 Request 和 RequestedEquipment 表。这是我用来创建请求的代码:

public void addReq(ReqType reqType, Employee reqBy, Location loc, string comm)
{
int reqID;
Request req = new Request();
req.Comments = comm;
req.Employee = reqBy;
req.ReqType = reqType;
req.RequestStatus = findReqStat(1);
req.Location = loc;
entities.AddToRequests(req);
entities.SaveChanges();
}

如何获取已创建的请求的 ID,以便我可以使用它在 RequestedEquipment 表中创建所需的条目?

最佳答案

在调用 SaveChanges() 后,您应该能够从新的 Request 对象中提取 ID 值,如下所示:

entities.SaveChanges();
reqID = req.ID;

SaveChanges() 应该将您的新记录保存到数据库,如果 ID 列设置为数据库中的标识列,则该自动生成的 ID 应通过 Entity Framework 传递回您的对象。

此外,为了以防万一,这里有一篇关于 ID 字段未自动更新问题的博客文章: http://dotnethacker.wordpress.com/2010/12/24/entity-framework-savechanges-doesnt-get-the-generated-identity-key/

关于linq - 使用 linq toEntity 获取新添加记录的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5688137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com