c# - Entity Framework 和 DBContext 问题

标签 c# .net-4.0 entity-framework-4 database-concurrency

我被警告不要在我的应用程序中使用 Entity Framework 的多个 DBEntityContext。原因是由于并发访问数据库而导致死锁的风险。

谁能证实这一点?如果这是真的,那么为 DBContext 实现一个 Singleton 对象是不是一个好主意?

欢迎就此问题发表任何文章。

谢谢你提前。

最佳答案

ObjectContext 和 DbContext 不是线程安全的。参见 http://msdn.microsoft.com/library/system.data.objects.objectcontext.aspx .如果您在像 ASP.NET 这样的多线程环境中使用它们,那么在使用单个实例时就会遇到大麻烦。建议每个请求使用一个 ObjectContext。必须在请求结束时处理 ObjectContext。文章Managing Entity Framework ObjectContext lifespan and scope in n-layered ASP.NET applications可能会有帮助。

您是否有可能误解了告诉您有关死锁的顾问?可能他想警告您以错误的方式使用 ObjectContext 时可能会出现死锁。

关于c# - Entity Framework 和 DBContext 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10991762/

相关文章:

c# - 有没有办法用 WebClient 做一个 PUT?

c# - WPF 中的 MenuItem 仅注册右键单击,但不注册左键单击

c# - 如何在 C# 中不使用 sort 方法对数组进行排序

c# - 带有 ORDER BY 的 SQL 查询语法不起作用

c# - 如何将附加行为右键单击应用于文本 block ?

localization - 为什么 en-ZA 的数字分组和小数点分隔符从 .NET 3.5 更改为 .NET 4.0?

c# - 如何在不使用 TransactionScope 的情况下使用 EF4 Code First CTP5 分配事务?

c# - EF4 : LINQ 2 Entities query works in C# but not in VB

c# - LINQ 条件 where 仅当 prop 不为 null 时

c# - 动态 linq 查询不工作