实体框架上下文中的条件 WHERE 子句

2024-06-21

objRecord = await _context.Persons
    .Where(tbl => tbl.DeletedFlag == false)
    .ToListAsync();

这是我得到的 EF 代码,它成功地从Person表在哪里DeletedFlag是假的。

我想添加另一个where条件,如果传入了姓氏,则添加额外的where子句

.Where(tbl => tbl.Surname.Contains(theSurname))

我尝试过 IQueryable 和其他一些选项,但不知道如何做相当于

string theSurname = "";
objRecord = await _context.Persons
    .Where(tbl => tbl.DeletedFlag == false)
    if ( theSurname != "") {
        .Where(tbl => tbl.Surname.Contains(theSurname))
    }
    .ToListAsync();

这显然不起作用,因为您不能在 EF 调用中放入 if 语句。

我可以随后添加一个限制 objRecord 的条件,但我不想检索所有记录,然后将其删除,我宁愿只获取我需要的记录。


您可以组合条件Where方法只需添加tbl.Surname.Contains(theSurname)所以你的最终查询将如下所示:

objRecord = await _context.Persons
                          .Where(tbl => tbl.DeletedFlag == false && 
                                        tbl.Surname.Contains(theSurname))
                          .ToListAsync();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实体框架上下文中的条件 WHERE 子句 的相关文章

  • 提供者未返回 ProviderManifest 实例

    当我想配置我的数据源 EntityDataSource 1 并将实体数据模型自动生成的连接字符串分配给它时 我收到错误 无法加载连接字符串中指定的元数据 请考虑重建 Web 项目以构建可能包含元数据的程序集 发生以下错误 提供程序未返回 P
  • 将登录重定向到控制器操作

    从使用个人用户帐户的 ASP NET 5 Web 应用程序模板开始 我成功地使用 Microsoft 帐户进行外部身份验证 当用户单击 登录 时 他们将被重定向到ExternalLogin in AccountController像这样
  • EF 是否可以自动删除未删除父级的孤立数据?

    对于使用 Code First EF 5 beta 的应用程序 我有 public class ParentObject public int Id get set public virtual List
  • 哪一条路?数据库优先、模型优先、仅代码?

    最近我通过Pro Entity Framework 4 0这本书学习了Entity Framework 现在 我想用EF来写项目 有了这些条件 哪种方式更好更灵活 我的观点是模型优先 但我想知道你的意见 thanks 读这个 EF 4 1
  • 我有三个共享相同数据库的项目,在所有项目中使用 EF 的最佳方法是什么?

    我有三个项目 WCF 项目 而不是客户端 我有一个数据库供所有项目使用 现在我将如何使用 EF 我应该创建第四个项目 其中包含数据库上下文和实体 然后在所有三个项目中添加对它的引用吗 或者我应该为每个项目提供单独的上下文 然后添加每个项目所
  • 在 UWP 应用程序中包含带有数据的 SQLite DB 文件

    我正在尝试将 SQLite 文件包含在 UWP 应用程序中 SQLite 文件中有许多填充了数据的表 该数据库 至少目前 是只读的 我计划使用 EF Core 来访问数据 所以我有两个问题 将此文件与应用程序捆绑在一起的正确方法是什么 如何
  • 由于派生表,实体框架速度很慢

    我将 MySQL Connector Net 6 5 4 与 LINQ toEntity 一起使用 并且经常获得糟糕的查询性能 因为实体框架生成使用派生表的查询 这是我多次遇到的一个简化示例 在 C 中 我编写如下查询 var culver
  • EF 和 TPT :在 SET 子句中多次指定列名

    我正在使用 EF 6 并使用 TPT 策略来模拟我的问题 Rule是一个抽象类 OvertimeRule是一个具体的类 继承自Rule Rule看起来像这样 public abstract class Rule public int Id
  • Entity Framework 4.0 自动生成的类未标记为可序列化

    我在 Entity Framework 4 0 V2 自动生成的类 tt 中看到的一件奇怪的事情是这些类没有标记为可序列化 尽管它们具有 WCF 的 DataContract 属性 现在的问题是 当我将 POCO 对象存储到视图状态中时 它
  • 如何在T4模板中使用DbContext?

    我想使用 EntityFramework 生成一些带有 T4 模板的代码 我在与当前工作的 EF6 DbContext 相同的程序集中创建了一个 T4 模板 lt template language C hostspecific true
  • EF Core 2.1 内存数据库不更新记录

    我正在使用内存数据库提供程序进行集成测试 但是我似乎无法更新记录 我已经针对真实的 SQL 数据库运行了相同的代码 并且一切都得到了很好的更新 这是我的测试装置代码 测试夹具 public class TestFixture
  • .NET Core 2.2共享Cookie导致登录时出现Bad Request错误

    我有 2 个应用程序在它们之间共享 cookie 这是startup cs中的配置 services ConfigureApplicationCookie options gt Cookie settings options Cookie
  • EF CF:带有附加信息的多对多关系

    我们有遗留数据库 并将新对象和道具映射到旧表和列 到目前为止 一切都很好 我们有已成功映射的多对多关系 中间表包含附加数据 当我们尝试将中间表映射到对象时 我们会得到映射已定义的异常 如果我们从关系的任何一侧删除映射 我们都会收到表丢失的错
  • 重构:从自定义数据访问层切换到实体框架

    我是一名 NET 开发人员 作为重构项目的一部分 我有几个问题 我们的软件当前使用 Active Record 模式 数据对象和业务对象之间的一对一映射 不好的是业务对象继承自数据对象 导致层之间的高度耦合 我们的目标是从自定义数据访问层
  • 实体框架:为什么实体类的集合类型需要在默认构造函数中实例化?

    我正在使用 Visual Studio 构建代码优先模型北风自动数据库 我有一些疑问 我发现如果实体类有一个集合 那么该集合总是在默认构造函数中实例化 为什么我们需要这样做 The ICollection
  • 将 Linq to SQL 代码迁移到 .Net Core

    我们有一些使用 Linq to SQL 作为 ORM 的遗留代码 我们希望将此逻辑迁移到 Net Core 以便我们可以将其放置在 Linux 服务器上 据我所知 L2S 不包含在 Net Core 中 阻力最小的迁移路径是什么 如果您使用
  • 当列不是 PK 时,EF6 MySQL StrongTypingException

    我们在 VS 2013 中使用 MySql 和 Entity FrameWork 这些是已安装的工具 MySql服务器5 7 8 MySql 工作台 6 3 MySql for Visual Studio 1 2 4 连接器 NET 6 9
  • Entity Framework 5 Code First - 如何“重新开始”?

    我一直在我的应用程序中成功使用 EF 5 Code First 我大约有40张桌子 但是 我遇到了一个问题 我似乎可以正确处理迁移 所以 我想做的就是以某种方式告诉 EF 将数据库的当前模式视为一个新的起点 并从这个点开始管理它 这样 我可
  • 实体框架 4 将订单链接到拥有 10,000 个订单的客户非常慢

    这个把我难住了 我有一个客户和订单实体 客户可以有多个订单 当我创建新订单并设置 Customer 属性 Order Customer customer 时 如果客户有 10 000 个订单 则会有很长的延迟 20 秒 在添加这个新订单之前
  • 设置域实体的身份

    域中的所有实体都需要具有身份 通过继承自DomainEntity 我能够为类提供身份 城市域实体 为了方便阅读而进行了精简 public class City DomainEntity IAggregateRoot public strin

随机推荐