use*_*916 5 linq linq-to-entities
嗨这是我第一个使用linq实体的项目.我已经想出了如何创建一个新记录,我只需要获取分配给它的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();
}
Run Code Online (Sandbox Code Playgroud)
如何获取创建的请求的ID,以便我可以使用它在RequestedEquipment表中创建所需的条目?
小智 8
在调用SaveChanges()之后,您应该能够从新的Request对象中提取ID值,如下所示:
entities.SaveChanges();
reqID = req.ID;
Run Code Online (Sandbox Code Playgroud)
SaveChanges()应该将新记录保存到数据库中,如果ID列设置为DB中的标识列,则应通过实体框架将该自动生成的ID传递回对象.
另外,以下是关于ID字段未自动更新的问题的博客文章:http: //dotnethacker.wordpress.com/2010/12/24/entity-framework-savechanges-doesnt-get-the-生成的身份密钥/
| 归档时间: |
|
| 查看次数: |
5410 次 |
| 最近记录: |