我可以将任意SQL查询映射到实体框架字段吗

本文关键字:实体 框架 字段 映射 任意 SQL 查询 我可以 | 更新日期: 2023-09-27 18:28:27

是否可以将字段添加到实体框架类中,而不是映射到表中的列,而是映射到SQL查询?

对于一个人为的例子(注意:这不是我实际想要做的,只是一个更容易解释我试图实现的例子),我希望我的类有一个TableCount字段,该字段保存从数据库加载对象时SELECT COUNT(*) FROM MyTable的结果。

编辑:我应该在我最初的帖子中提到这一点,但我使用的是POCO类。

我可以将任意SQL查询映射到实体框架字段吗

您不能直接使用映射到数据库的实体来实现这一点,但有两种方法可以通过包含原始实体中的列和其他计算列的新实体类型来实现:

  • 创建数据库视图并映射该视图-这是EDMX设计器为您维护的全自动方式
  • 编写查询以填充整个新的实体类型,并在DefiningQuery中手动映射它。缺点是,它需要手动编辑EDMX,并且没有额外的(商业)工具,也需要手动维护EDMX,因为每次从数据库中选择更新时,标准VS EDMX Designer都会覆盖编辑后的SSDL部分