相关疑难解决方法(0)

默认情况下,在Entity Framework 4中禁用延迟加载

似乎在EF4中默认启用了延迟加载.至少,在我的项目中,我可以看到它的价值

dataContext.ContextOptions.LazyLoadingEnabled
Run Code Online (Sandbox Code Playgroud)

默认情况下为true.我不想延迟加载,我不想写:

dataContext.ContextOptions.LazyLoadingEnabled = false;
Run Code Online (Sandbox Code Playgroud)

每次我得到一个新的背景.那么有没有办法在整个项目中默认关闭它?

entity-framework lazy-loading entity-framework-4

60
推荐指数
4
解决办法
8万
查看次数

实体框架异常"底层提供程序在Open上失败"

我创建了一个监听TCP/IP端口的Windows服务,并使用Entity Framework将接收的数据保存在数据库中.大部分时间它工作正常,但有时候它会抛出异常"底层提供程序在打开时失败".在数据库中保存数据.这是我的例外细节:

    Exception: 2/27/2014 10:31 AM:
    The underlying provider failed on Open.
     at System.Data.Entity.Core.EntityClient.EntityConnection.Open()
     at System.Data.Entity.Core.Objects.ObjectContext.EnsureConnection()
     at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
     at System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClassb.<GetResults>b__9()
     at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func`1 operation)
     at System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
    at System.Data.Entity.Core.Objects.ObjectQuery`1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__0()
     at System.Lazy`1.CreateValue()
     at System.Lazy`1.LazyInitValue()
     at System.Lazy`1.get_Value()
     at System.Data.Entity.Internal.LazyEnumerator`1.MoveNext()
     at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
     at System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.<GetElementFunction>b__1[TResult](IEnumerable`1 sequence)
     at System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerable`1 query, Expression queryRoot)
     at System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute[TResult](Expression expression)
    at System.Data.Entity.Internal.Linq.DbQueryProvider.Execute[TResult](Expression expression)
    at System.Linq.Queryable.FirstOrDefault[TSource](IQueryable`1 source)
    at Service.DemoService.Save(String received, TcpClient client)
Run Code Online (Sandbox Code Playgroud)

这个例外背后的原因是什么以及如何解决它?

c# entity-framework

5
推荐指数
1
解决办法
2万
查看次数

实体框架4 ObjectContext Lifetime

我刚开始使用EF4和存储库模式.我必须在每次使用上下文之后调用dispose方法或在using块中包装代码.我可以在我编写的每个方法中使用ObjectContext而不执行此操作,或者在存储库中有更好的方法来处理它.
另外,我也不想将UIContext从UI传递到存储库.

entity-framework

2
推荐指数
1
解决办法
3965
查看次数