C# 多个控制器能否使用不同的DBContext同时访问同一数据库?

C# 多个控制器能否使用不同的DBContext同时访问同一数据库?,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,我正在使用实体框架和带有异步方法的控制器 当一个控制器通过异步方法处理数据库时,服务器可能会从另一个客户端接收到处理同一数据库的请求 我知道dbcontext不是线程安全的 为什么这里没有问题 我知道dbcontext不是线程安全的 这意味着不应从多个线程中使用相同的DbContext实例。多个DbContexts点击不同线程上的数据库是完全正确的 在这种情况下,数据库中会发生什么取决于数据库的锁定/并发设置,但这是另一个问题 我知道dbcontext不是线程安全的 这意味着不应从多个线程中使用

我正在使用实体框架和带有异步方法的控制器

当一个控制器通过异步方法处理数据库时,服务器可能会从另一个客户端接收到处理同一数据库的请求

我知道dbcontext不是线程安全的

为什么这里没有问题

我知道dbcontext不是线程安全的

这意味着不应从多个线程中使用相同的
DbContext
实例。多个
DbContext
s点击不同线程上的数据库是完全正确的

在这种情况下,数据库中会发生什么取决于数据库的锁定/并发设置,但这是另一个问题

我知道dbcontext不是线程安全的

这意味着不应从多个线程中使用相同的
DbContext
实例。多个
DbContext
s点击不同线程上的数据库是完全正确的


在这种情况下,数据库中发生的情况取决于数据库的锁定/并发设置,但这是另一个问题。

这取决于连接到的数据库类型。有些具有锁,以防止多个用户同时访问数据库时发生争用。SQL Server有锁,但Jet引擎或ACE驱动程序(access和excel使用)没有防止争用的锁。这取决于您连接到的数据库类型。有些具有锁,以防止多个用户同时访问数据库时发生争用。SQL Server具有锁,但Jet引擎或ACE驱动程序(由access和excel使用)没有防止争用的锁。