问题标签 [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.
entity-framework - 实体框架 5 SaveChanges 不工作,没有错误
关于这个主题的许多问题似乎都不符合我的情况。我有一个大数据模型。在某些情况下,只需要在 UI 上显示几个字段,因此对于那些我替换了 LINQ to Entity 查询,该查询使用 Entity SQL 查询提取所有内容,只检索所需的列,使用 Type 构造函数,以便我得到返回的实体而不是 DbDataRecord,如下所示:
这有效并在 UI 中显示字段。如果我进行更改,当我退出 UI 元素时,更改会返回到实体模型。但是当我执行 SaveChanges 时,更改不会持久保存到数据库中。日志中没有显示错误。现在,如果我非常小心地将上述查询替换为检索整个实体的 Entity Sql 查询,如下所示:
更改确实会保存在数据库中!因此,作为测试,我创建了另一个查询,如第一个查询,命名实体中的每一列,它应该与第二个实体 SQL 查询完全等效。然而,它也没有持久化对数据库的更改。
我尝试将返回结果上的 MergeOption 设置为 PreserveChanges,以开始跟踪,如下所示:
但这没有任何效果。但实际上,如果使用 Entity Sql 检索整个实体会持续更改,那么在检索字段子集时表现不同的逻辑目的是什么?我想知道这是否是一个错误?
entity-framework - 如何按非列字段排序?
我正在尝试创建一个实体 SQL,它是两个子查询的联合。
我努力了:
和
但我不断得到:
编辑:
这是实体框架。在 C# 中,使用以下命令执行查询:
我的应用程序中只有一小部分需要使用 Entity SQL。一般来说,主要用例是当我需要做的时候:“WHERE Column LIKE 'A % value % with % multiple % wildcards'”。
我不认为这是 Rank 列的问题。我确实认为这就是我试图将 order by 应用于由 union all 连接的两个不同的 esql 语句的方式。有人可以建议:
- 如何将 ORDER BY 应用于这种 UNION/UNION ALL 语句
- 如何按非实体列表达式排序。
谢谢。
.net - 如何使用 dbContext 构建动态 WHERE 子句
我们需要根据用户输入创建动态 WHERE 子句。使用旧的ObjectContext
我们找到了一种使用.Where(<ESql>)
.
因为这是一个新项目,我们一般希望使用新的 DbContext。我知道如何从 DbContext 获取 ObjectContext:
但是然后呢?
使用DbContext.Database.SqlQuery
orObjectContext.CreateQuery
似乎不是一个选项,因为 EDMX 生成器会破坏列名,如果它们与表名相同并且我们无法控制 DB 模式。请参阅如何阻止 EDMX 生成器更改列名。
我们不希望依赖开源解决方案。
添加
同时,我说服客户不再需要通配符,因此我们可以将 Contains() 与 dbConctext 一起使用:
我仍然想知道如何在 dbContext 上使用 ESql Where()。
entity-framework - Entity SQL vs CreateQuery 一个工作,另一个错误用于同一查询
我可以使用以下代码行来创建一个只返回“ActivityEntity”类型的对象的查询......
..并且运行查询按预期工作。但我想实际使用 Entity SQL 语法创建一个查询,因此尝试将上面的代码转换为以下代码......
...除了这会出现以下错误...
找不到类型“MyNamespace.ActivityEntity”。确保加载了所需的模式并且正确导入了命名空间。
...两组代码都在同一个 C# 文件中,因此命名空间不会有问题,因为代码的强类型版本工作得很好。任何想法如何解决这个问题?
笔记:
不确定这是否有所不同,但实体框架设置为无代码生成策略,然后我构建了自己的类以供使用。但是我已经用 EdmEntityTypeAttribute 属性标记了它们。
entity-framework - Entity SQL 中的空间支持
我正在生成实体 SQL 以在我的应用程序中提供动态查询支持。然而,我一直无法找到如何使用 Entity Framework 5 在 Entity SQL 中指定空间条件。
使用 Linq to Entities 对具有包含空间字段的实体的模型进行查询,例如:
生成 SQL Server 2012 所期望的 SQL,例如:
如何使用 ESQL 重写上述 Linq to Entities 查询?或者这是不可能的?
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。任何人都可以解释如何做到这一点?
c# - ESQL 不工作
我正在研究 WCF、实体框架、自跟踪解决方案。
我的 ESQL 有问题。
queryResult.Count()
导致错误:“'achAccID' 在当前加载的架构中不是'PatientModel.AccHosp' 类型的成员”
我在PatientModel.edmx
file下找到了,下面<EntityType Name="AccHosp">
有<property Name="achAccID" Nullable="false" Type="int">
那么真正的问题是什么?
.net - EntitySQL 中的 SelectMany 等效项
我正在与一个 E-SQL 查询作斗争,其中我的一个字段在列表中。我的问题是如何让这个变平。我的查询如下:
问题是输出中的每条记录都是申请人问题的列表,而不是每条记录只是申请人问题。
我尝试使用 flatten on d 使用类似的东西
但它给出了错误:
我本可以使用 SelectMany 实现这一点,我认为 FLATTEN 方法适用于它,但似乎我没有正确使用它。
任何帮助将不胜感激。
在任何情况下,如果是关于查询的目的,就是选择组中的所有记录,跳过第一个项目。
我正在使用 EntityFramework 4.3
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 的演员表,这是正确的解决方案:
sql - 在实体框架中使用正则表达式进行搜索
我想在数据库表中搜索字符串模式。
搜索模式只是用户输入的字符串。但是,要搜索的字段之间可以有空格,或者用户可以在字符串中输入空格。
所以我想创建一个正则表达式,如果说字符串是“测试”,我会寻找可能在两者之间有空格的正则表达式,就像这样
任何人都可以建议我如何在实体框架中执行此操作 - 或使用 ESQL 吗?