大家晚上好, 这是我的问题: 例如,我有这样的模型:
[Table("Orders")]
public class Order
{
[Key]
public string Id { get; set; }
public DateTime Generated { get; set; }
public virtual ApplicationUser User { get; set; }
public string UserId { get; set; }
public string Content { get; set; }
}
我希望一次在多个已检查的订单中更改UserId和signle用户的ID。 默认情况下,所有UserId字段都为空。
public async Task<ActionResult> OrdersToChange(string[] orderIds)
{
//
return View(orders);
}
答案 0 :(得分:1)
您可以创建数据库上下文,然后使用Linq比较id以获取特定用户,还可以读取数据并将数据写入数据库。
答案 1 :(得分:1)
要在不加载实体的情况下更新具有相同值的多行,您需要一个批量更新库
请参阅:Entity Framework Batch Update Library
免责声明:我是该项目的所有者Entity Framework Plus
实施例
int currentUserId = 1;
var ctx = new MyContext();
ctx.Orders.Where(x => orderIds.Contains(x.Id))
.Update(x => new Order { UserId = currentUserId });