问题标签 [entity-sql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1124 浏览

entity-framework - 实体框架 5 SaveChanges 不工作,没有错误

关于这个主题的许多问题似乎都不符合我的情况。我有一个大数据模型。在某些情况下,只需要在 UI 上显示几个字段,因此对于那些我替换了 LINQ to Entity 查询,该查询使用 Entity SQL 查询提取所有内容,只检索所需的列,使用 Type 构造函数,以便我得到返回的实体而不是 DbDataRecord,如下所示:

这有效并在 UI 中显示字段。如果我进行更改,当我退出 UI 元素时,更改会返回到实体模型。但是当我执行 SaveChanges 时,更改不会持久保存到数据库中。日志中没有显示错误。现在,如果我非常小心地将上述查询替换为检索整个实体的 Entity Sql 查询,如下所示:

更改确实会保存在数据库中!因此,作为测试,我创建了另一个查询,如第一个查询,命名实体中的每一列,它应该与第二个实体 SQL 查询完全等效。然而,它也没有持久化对数据库的更改。

我尝试将返回结果上的 MergeOption 设置为 PreserveChanges,以开始跟踪,如下所示:

但这没有任何效果。但实际上,如果使用 Entity Sql 检索整个实体会持续更改,那么在检索字段子集时表现不同的逻辑目的是什么?我想知道这是否是一个错误?

0 投票
0 回答
296 浏览

entity-framework - 如何按非列字段排序?

我正在尝试创建一个实体 SQL,它是两个子查询的联合。

我努力了:

但我不断得到:

编辑

这是实体框架。在 C# 中,使用以下命令执行查询:

我的应用程序中只有一小部分需要使用 Entity SQL。一般来说,主要用例是当我需要做的时候:“WHERE Column LIKE 'A % value % with % multiple % wildcards'”。

我不认为这是 Rank 列的问题。我确实认为这就是我试图将 order by 应用于由 union all 连接的两个不同的 esql 语句的方式。有人可以建议:

  1. 如何将 ORDER BY 应用于这种 UNION/UNION ALL 语句
  2. 如何按非实体列表达式排序。

谢谢。

0 投票
1 回答
1407 浏览

.net - 如何使用 dbContext 构建动态 WHERE 子句

我们需要根据用户输入创建动态 WHERE 子句。使用旧的ObjectContext我们找到了一种使用.Where(<ESql>).

因为这是一个新项目,我们一般希望使用新的 DbContext。我知道如何从 DbContext 获取 ObjectContext:

但是然后呢?

使用DbContext.Database.SqlQueryorObjectContext.CreateQuery似乎不是一个选项,因为 EDMX 生成器会破坏列名,如果它们与表名相同并且我们无法控制 DB 模式。请参阅如何阻止 EDMX 生成器更改列名

我们不希望依赖开源解决方案。

添加

同时,我说服客户不再需要通配符,因此我们可以将 Contains() 与 dbConctext 一起使用:

我仍然想知道如何在 dbContext 上使用 ESql Where()。

0 投票
1 回答
324 浏览

entity-framework - Entity SQL vs CreateQuery 一个工作,另一个错误用于同一查询

我可以使用以下代码行来创建一个只返回“ActivityEntity”类型的对象的查询......

..并且运行查询按预期工作。但我想实际使用 Entity SQL 语法创建一个查询,因此尝试将上面的代码转换为以下代码......

...除了这会出现以下错误...

找不到类型“MyNamespace.ActivityEntity”。确保加载了所需的模式并且正确导入了命名空间。

...两组代码都在同一个 C# 文件中,因此命名空间不会有问题,因为代码的强类型版本工作得很好。任何想法如何解决这个问题?

笔记:

不确定这是否有所不同,但实体框架设置为无代码生成策略,然后我构建了自己的类以供使用。但是我已经用 EdmEntityTypeAttribute 属性标记了它们。

0 投票
2 回答
258 浏览

entity-framework - Entity SQL 中的空间支持

我正在生成实体 SQL 以在我的应用程序中提供动态查询支持。然而,我一直无法找到如何使用 Entity Framework 5 在 Entity SQL 中指定空间条件。

使用 Linq to Entities 对具有包含空间字段的实体的模型进行查询,例如:

生成 SQL Server 2012 所期望的 SQL,例如:

如何使用 ESQL 重写上述 Linq to Entities 查询?或者这是不可能的?

0 投票
1 回答
1136 浏览

c# - Linq-To-Entities 'Contains' 条款 1-many 关系

考虑一个像这样的(简化的)表结构:

[用户]

  • EMPID
  • 姓名

[任命]

  • (FK_APPT_USER) EMPID
  • APPTYPEID
  • 完全的

每个用户可以有 0..* 个约会,每个约会可以是多个 APPTYPEID 之一,可以是完整的也可以是不完整的。

我想过滤 IQueryable[USER] 查询的结果集,使其仅包括拥有某个 typeID 的 appt(比如 1)且 COMPLETE 字段位于值列表中的用户。我这样做是作为 gridview 过滤器的一部分,它允许用户选择仅显示特定约会类型的已完成或未完成的用户。

如果我与列表比较的值与 USER 对象处于 1-1 关系,这真的很容易做到,例如:

但是我不明白如何处理 1 对多关系,比如我的约会表,这让我全神贯注地试图为它概念化实体 sql。任何人都可以解释如何做到这一点?

0 投票
1 回答
280 浏览

c# - ESQL 不工作

我正在研究 WCF、实体框架、自跟踪解决方案。

我的 ESQL 有问题。

queryResult.Count()导致错误:“'achAccID' 在当前加载的架构中不是'PatientModel.AccHosp' 类型的成员”

我在PatientModel.edmxfile下找到了,下面<EntityType Name="AccHosp"><property Name="achAccID" Nullable="false" Type="int">

那么真正的问题是什么?

0 投票
0 回答
91 浏览

.net - EntitySQL 中的 SelectMany 等效项

我正在与一个 E-SQL 查询作斗争,其中我的一个字段在列表中。我的问题是如何让这个变平。我的查询如下:

问题是输出中的每条记录都是申请人问题的列表,而不是每条记录只是申请人问题。

我尝试使用 flatten on d 使用类似的东西

但它给出了错误:

我本可以使用 SelectMany 实现这一点,我认为 FLATTEN 方法适用于它,但似乎我没有正确使用它。

任何帮助将不胜感激。

在任何情况下,如果是关于查询的目的,就是选择组中的所有记录,跳过第一个项目。

我正在使用 EntityFramework 4.3

0 投票
1 回答
827 浏览

casting - 在 EntityDataSource 中连接两个 DataTime 字段

我有两个 Edm.DateTime 类型的字段。如何获得 h:mm 格式的时间并将它们连接到 EntityDataSource 的 CommandText 中:“01/02/2013 3:15 AM 和 01/02/2013 4:15 AM”应该是“15:15-16:15 " 我找到了 concat 的演员表,这是正确的解决方案:

0 投票
1 回答
1384 浏览

sql - 在实体框架中使用正则表达式进行搜索

我想在数据库表中搜索字符串模式。

搜索模式只是用户输入的字符串。但是,要搜索的字段之间可以有空格,或者用户可以在字符串中输入空格。

所以我想创建一个正则表达式,如果说字符串是“测试”,我会寻找可能在两者之间有空格的正则表达式,就像这样

任何人都可以建议我如何在实体框架中执行此操作 - 或使用 ESQL 吗?