我一直在實體框架調用有一些奇怪的錯誤,我正在探索使用相同的ObjectContext
併發多線程訪問的可能性。創建一個ThreadLocal EF上下文
我試圖通過在ThreadLocal中創建上下文來爲每個線程創建一個新的上下文。
private System.Threading.ThreadLocal<EF.XYZEntities> threadLocalContext = new System.Threading.ThreadLocal<EF.XYZEntities>(() => new EF.XYZEntities(connectionString));
private EF.XYZEntities context { get { return threadLocalContext.Value; } }
這是行不通的。該上下文的第一次使用會引發一個錯誤:
Invalid object name 'dbo.Site'.
我該如何獲得此工作?
我只是在線程內部創建上下文,並將其封裝在'using'塊中,因此它的作用範圍很大。創建上下文不是一個昂貴的操作... –
也許有關? http://stackoverflow.com/questions/9415955/c-sharp-working-with-entity-framework-in-a-multi-threaded-server – rene