草庐IT

c# - EF - 在 HTTP 请求期间创建模型异常时无法使用上下文

我收到“创建模型时无法使用上下文。”在我的一个网页中的Web应用程序中出现问题。这个特定的网页每2-3秒向服务器发送一次POST以刷新屏幕。从我的测试中,我发现如果我有2个或更多浏览器实例打开此页面,几分钟后我会收到来自存储库深处的“创建模型时无法使用上下文”异常。此代码调用“服务”来检索所需的数据。此代码在MVCController类的自定义授权属性中执行。//Codeincustom"Authorization"attributeonthecontrollerint?stationId=stationCookieValue;//ReadvaluefromcookieRoomStat

c# - EF6 使用命令树拦截器禁用查询计划缓存

我正在使用IDbCommandTreeInterceptor来实现软删除功能。在标准TreeCreated方法中,我检查给定的查询命令是否包含具有软删除属性的模型。如果他们这样做并且用户也请求获取软删除对象---我用querySoftDeleted=true调用我的软删除访问者。这将使我的查询返回所有对象,那些在IsDeleted属性上具有true和false值的对象。publicclassSoftDeleteInterceptor:IDbCommandTreeInterceptor{publicvoidTreeCreated(DbCommandTreeInterceptionCont

c# - EF 中的可序列化类和动态代理 - 怎么样?

在[apreviousposting],我走上了必须克隆我的实体的道路。我尝试使用[codeproject]中的序列化方法来做到这一点.因为这些类是由EntityFramework生成的,所以我在自定义.cs中单独标记它们,如下所示:[Serializable]publicpartialclassClaims{}但是,当检查时(在克隆方法中):if(Object.ReferenceEquals(source,null)){被击中,我得到错误:System.ArgumentExceptionwasunhandledbyusercodeMessage=Thetypemustbeserial

c# - EF 中的多个 where 条件

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:ConditionalLinqQueries使用EntityFramework4.0我有这样的搜索条件有四个字段允许用户过滤他们的搜索。条件都是AND。如果文本框值为String.Empty或下拉列表值为All,则结果必须省略相应的过滤器。可以在存储过程中执行此操作,但我无法在Linq2SQL/EntityFramework场景中完全模仿。我的问题是,如何根据某些输入值在Linq中省略IEnumerable.Where?

c# - EF6 和多种配置(SQL Server 和 SQL Server Compact)

更新:问题已解决,见本题末尾。问题:如果我们在同一个AppDomain中同时使用SQLServer和SQLServerCE,我们正在尝试使用EntityFramework6和基于代码的配置。“设计”似乎不支持这种非常简单的场景。来自EF团队:Note:WedonotsupporthavingmultipleconfigurationclassesusedinthesameAppDomain.Ifyouusethisattributetosetdifferentconfigurationclassesfortwocontextsanexceptionwillbethrown.更多信息在这

c# - EF 代码优先 - 超时已过。完成前超时时间已过

为这个措辞奇怪的问题道歉。我不知道实际问题是什么,但希望有人能给我一些见解。尝试运行迁移时出现以下错误:Timeoutexpired.Thetimeoutperiodelapsedpriortocompletionoftheoperationortheserverisnotresponding.--->System.ComponentModel.Win32Exception(0x80004005):Thewaitoperationtimedout有趣的是,在我的笔记本电脑上没有发生这种情况,但在我的VM(天蓝色-大型)上发生了100%的故障率。我正在使用Ef6.0.0-rc1。请注意,

c# - EF6 中的急切、延迟和显式加载

我读过这个tutorial还有这个article但我不完全了解每种加载类型的用途。我来解释我有这个POCO:publicpartialclassdpc_gestion{publicdpc_gestion(){this.ass_reunion_participant=newHashSet();this.dpc_participant=newHashSet();this.dpc_reunion=newHashSet();}publicintdpc_id_pk{get;set;}publicNullabledpc_id_gdp_fk{get;set;}publicNullabledpc_id

c# - 如何在 EF Core 中显示底层 SQL 查询?

在这段“.NETCore2.0Released!”视频结束后的3:15,DiegoVega演示了EntityFrameworkCore2.0中的新功能。作为其中的一部分,控制台应用程序中显示了底层SQL的转储。我在StackOverflow上看到很多答案,建议人们使用SQL分析器来查看底层查询。但现在我很好奇:您如何才能像DiegoVega那样做,并让查询显示在应用程序中?.NET6的更新:EF日志记录在开发中默认启用。参见thisGitHubissue更新:Diego添加了"Microsoft.EntityFrameworkCore.Database.Command":"Inform

c# - 关闭任何上下文实例的 EF 更改跟踪

这个问题在这里已经有了答案:GlobalsettingforAsNoTracking()?(8个答案)关闭9年前。我有一个用于报告的只读数据库的上下文,我正在编写大量代码,如下所示:using(varcontext=newReportingContext()){varreportXQuery=context.ReportX.AsNoTracking();//Dostuffherewithquery...}有没有办法设置AsNoTracking位,这样只要新建上面的ReportingContext就会自动使用AsNoTracking而不是需要记住在每个查询中显式调用它?

c# - 在不创建数据库的情况下将 Mini-Profilier 与 EF 4.3 和 MVC 4 结合使用

我遇到了一个问题,即我们针对现有数据库使用EF4.3CodeFirst。我想将Mini-Profiler与EF一起使用并调用MvcMiniProfiler.MiniProfilerEF.Initialize();但是,由于我们实际上并未创建任何表,因此dbo.__MigrationHistory和dbo.EdmMetadata表不存在。探查器最终崩溃,因为它们不存在。有没有办法让分析器忽略这些EFCodeFirst特定表?谢谢!编辑:这些是我得到的异常:(它们是分开的)Invalidobjectname'dbo.__MigrationHistory'.atSystem.Data.Sql