我很感兴趣是否应该在现有的 ADO.NET SqlConnection 中打开 Entity Framework 的 DbContext 连接,前提是它们都使用相同的连接字符串,即在完全相同的数据库上操作?例如:
using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new System.TimeSpan(0, 30, 0)))
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
DoStuffWithEF(connectionString);
...
}
}
void DoStuffWithEF(string connectionString)
{
using (var context = new MyCodeFirstDbContext(connectionString))
{
// basic LINQ queries ...
}
}
- 在这两种情况下,连接是否被重复使用,因为连接字符串在两种情况下都指向同一个SQL Server 2012数据库?
- 这样的操作会不会需要MSDTC,存在任何危险性吗?