我需要将以下SQL插入语句转换为LINQ:
Insert into Car (Name)
Output inserted.CarId
Values ('Red Car')
到目前为止,这是我的代码:
using (MyContextEntities db = new MyContextEntities())
{
db.Entry(car).State = EntityState.Added;
db.SaveChanges();
}
如何返回插入项目的ID?
答案 0 :(得分:3)
在SaveChanges之后,汽车实例已经生成了Id
另外,为什么要设置状态但不将实体添加到上下文?
using (MyContextEntities db = new MyContextEntities())
{
db.Cars.Add(car);
db.SaveChanges();
}
return car.Id
答案 1 :(得分:2)
EF将在您的汽车实例中设置:
using (MyContextEntities db = new MyContextEntities())
{
db.Entry(car).State = EntityState.Added;
db.SaveChanges();
return car.Id;
}
答案 2 :(得分:2)