我有一個問題,我知道是本地的,與事務範圍有關的東西,可能是MSDTC(我不太瞭解它)。爲什麼TransactionScope使用實體框架導致問題?
其他項目的開發商(相同的代碼,一切COMMITED)執行整體解決方案,但是當我試圖從數據庫中(不總是)得到一些數據,我有以下錯誤:
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)
如果我評論使用的事務範圍,完整()和一切,它按預期工作。
你有過這個問題嗎?
編輯:
拋出這個錯誤是很簡單的東西,比如查詢:
var entity = Entities.EntityX.First(p => p.ID == id);
編輯,解決了:
服務器的LMHOSTS已經過時。
你能寫更多關於什麼導致問題的東西嗎? – kubal5003 2012-01-11 13:38:51
@ kubal5003抱歉,但有很長一段時間,我不記得了。 =/ – 2012-01-12 02:42:59