草庐IT

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

c# - 如何根据 XUnit 测试隔离 EF InMemory 数据库

我正在尝试使用InMemoryEF7数据库进行我的xunit存储库测试。但我的问题是,当我尝试处置创建的上下文时,内存中的数据库仍然存在。这意味着一个测试涉及另一个。我读过这篇文章UnitTestingEntityFramework7withtheInMemoryDataStore并且我尝试在我的TestClass的构造函数中设置上下文。但这种方法行不通。当我单独运行测试时,一切正常,但我的第一个测试方法将一些东西添加到数据库中,第二个测试方法从以前的测试方法中的脏数据库开始。我尝试将IDispose添加到测试类中,但方法DatabaseContext和DB仍然存在于内存中。我做错了什

c# - 模拟 DbContext.set<T>.Add() EF6

我有以下类(其中PilsnerContext是DbContext类):publicabstractclassServiceBase:IServicewhereT:class,IEntity{protectedreadonlyPilsnerContextContext;protectedServiceBase(PilsnerContextcontext){Context=context;}publicvirtualTAdd(Tentity){varnewEntity=Context.Set().Add(entity);Context.SaveChanges();returnnewEnti

c# - EF6 Code First 具有通用存储库和依赖注入(inject)和 SoC

经过大量阅读和尝试后EntityFramework最新的稳定版本(6.1.1)。我正在阅读很多关于是否使用EF6的存储库的矛盾。或EF一般来说,因为它是DbContext已经提供了一个存储库和DbSetUoW,盒子外面。让我首先解释我的解决方案在项目方面包含的内容,然后我将回到矛盾。它有一个类库项目,还有一个asp.net-mvc项目。类lib项目是数据访问,其中Migrations为CodeFirst启用.在我的类lib项目中,我有一个通用存储库:publicinterfaceIRepositorywhereTEntity:class{IEnumerableGet();TEntity