我正在使用生产者 - 许多消费者模式。
数据库已经有记录。
- 生产者读取记录并将它们放入线程安全队列。
- 消费者线程一一处理记录并向其添加更多数据。
- 现在生产者必须用消费者提供的新数据更新数据库中的记录。
我是 Entity Framework 的新手,不知道使用什么方法来正确更新这些记录。
我读过我可以从数据库中选择一个记录列表,直接将字段编辑到它,然后简单地调用SaveChanges
上下文对象。但我怀疑一些消费者会在编辑列表中的一些属性的过程中。
我正在使用生产者 - 许多消费者模式。
数据库已经有记录。
我是 Entity Framework 的新手,不知道使用什么方法来正确更新这些记录。
我读过我可以从数据库中选择一个记录列表,直接将字段编辑到它,然后简单地调用SaveChanges
上下文对象。但我怀疑一些消费者会在编辑列表中的一些属性的过程中。
尝试这个。第一个示例显示如何更新单个记录,第二个示例显示如何使用记录列表进行更新。您可以从列表中的任何对象中添加或删除所需的数据,只要它们属于您的数据模型中的类型。然后调用您的数据库上下文并遍历列表中的每个对象。使用 SaveChanges() 更新数据库。
public List<Customer> MyCustomers { get; set; }
public void GetCustomers()
{
using(var context = new SalesContext())
{
var customers = from b in context.Customers
select b;
MyCustomers = customers.ToList<Customer>();
}
}
public void MethodThatChangesCustomers()
{
}
public void UpdateDatabase()
{
using(var context = new SalesContext())
{
foreach (var person in MyCustomers)
{
context.Customers.Add(person);
}
context.SaveChanges();
}
}