我有一个问题,我知道是本地的,与事务范围有关,可能是 MSDTC(我不太了解)。
另一个项目开发人员(相同的代码库,所有提交的内容)执行整个解决方案,但是当我尝试从数据库中获取一些数据时(并非总是如此),出现以下错误:
The underlying provider failed on EnlistTransaction.
at System.Data.EntityClient.EntityConnection.EnlistTransaction(Transaction transaction)
at System.Data.Objects.ObjectContext.EnsureConnection()
at System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
at System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
at System.Data.Objects.ELinq.ObjectQueryProvider.<GetElementFunction>b__0[TResult](IEnumerable`1 sequence)
at System.Data.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerable`1 query, Expression queryRoot)
at System.Data.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute[S](Expression expression)
at System.Linq.Queryable.First[TSource](IQueryable`1 source, Expression`1 predicate)
如果我评论 using 事务范围、complete() 和所有内容,它会按预期工作。
你以前有过这个问题吗?
编辑:
引发此错误的查询非常简单,例如:
var entity = Entities.EntityX.First(p => p.ID == id);
编辑,解决:
服务器的 lmhosts 已过时。