问题标签 [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 投票
2 回答
189 浏览

entity-framework - 在什么情况下我需要使用 CREATEREF、DEREF 和 REF 关键字?

这个问题是关于为什么我会使用上述关键字。我发现很多 MSDN 页面解释了如何。我正在寻找原因。

我要写什么查询意味着我需要它们?我问是因为我发现的例子似乎可以通过其他方式实现......

为了自己弄清楚,我使用 AdventureWorks 数据库中的 Employee 和 EmployeePayHistory 表创建了一个非常简单的实体模型。

我在网上看到的一个示例演示了类似于以下 Entity SQL 的内容:

这似乎撤回了 HireDate 而无需指定加入?

为什么这比下面的 SQL 更好(看起来完全一样)?

查看以上两个语句,我无法弄清楚 CREATEREF、DEREF 位添加了哪些额外内容,因为没有它们我似乎能够得到我想要的东西。

我假设我只是没有找到证明目的的场景。我假设在某些情况下使用这些关键字要么更简单,要么是完成所需结果的唯一方法。

我找不到的是场景....

任何人都可以填补空白吗?我不需要整套 SQL。我只需要一个起点,即一个或两个场景的简要描述......我可以自己扩展。

0 投票
1 回答
153 浏览

asp.net - 实体查询选择“*”错误

我正在使用 esql 通过使用实体框架进行选择这是我的编码

我如何获得 articleDetail.* 值?我收到错误 “查询语法无效。近期'*',第 1 行,第 39 列。 ”请帮助我。谢谢你

0 投票
1 回答
1008 浏览

entity-framework-4 - 实体 SQL 排序然后 LINQ 到实体 GroupBy 不返回 IOrderedQueryable

作品:我的 UI 将实体 sql排序表达式从 jqGrid 发送到我的 DAL,然后应用一些返回到我的服务层的 Where 子句。然后,我的服务层将创建一个 PaginatedList 对象,该对象将 Skip()..Take() 应用于 IQueryable。例子:

不起作用:应用 GroupBy() 然后 Select() 返回相同类型实体的列表(工作表)。例子:

引发 NotSupportedException:仅 LINQ to Entities 中的排序输入支持方法“Skip”。必须在方法“Skip”之前调用方法“OrderBy”。

在我看来,第一个片段确实返回了一个应用 esql 排序表达式的 IOrderedQueryable,但第二个片段没有?或者 GroupBy() 是否删除了查询/集合的顺序?如果是这种情况,并且由于必须在 LINQ to Entities 之前应用 esql,我该如何完成 sql 排序 + LINQ GroupBy ?

相关:
ObjectQuery 何时真正成为 IOrderedQueryable?
为什么我们不能混合使用 ESQL 和 LINQ TO 实体

0 投票
1 回答
1702 浏览

sql - 进行通用查询,如何?

这是我的工作代码:

这段代码工作正常。但我希望能够将其提供给任何类型。目前它仅适用于客户。使queryString动态化很容易,但我该如何称呼这条线:?

有没有一种方法可以调用 CreateQuery,而不需要提供特定的类型,或者有没有简单的方法可以使这项工作?感谢您的任何建议!

0 投票
1 回答
108 浏览

entity-framework - ESQL 在自跟踪实体中不起作用

我已经按照这个演练创建了一个 wcf+ef+self-tracking 实体项目。

演练:序列化自我跟踪实体

在服务中,Linq to Entities 可以很好地工作,但是如果我添加一个使用 ESQL 的方法,例如:

代码执行时会抛出异常:

在当前范围或上下文中无法解析“d.Name”。确保所有引用的变量都在范围内,加载了所需的模式,并且正确地引用了命名空间。

任何人都可以帮忙吗?

0 投票
1 回答
162 浏览

entity-framework - 如果 edmx 文件在另一个项目中,实体 SQL 不起作用

我正在尝试使用 Enitity SQL 来查询数据,但是如果 edmx 文件在另一个项目中,则会抛出异常。下面是我的测试步骤。

  1. 创建一个类库项目并向其中添加一个 edmx 文件,从数据库创建。

  2. 创建一个控制台应用程序,添加要引用的类库项目并将 app.config 文件复制到该项目中。

  3. 编写如下代码

    /li>

当我运行控制台应用程序项目时,抛出异常:“'ID' 不是当前加载的架构中的'NorthwindModel.Customers' 类型的成员。”

似乎架构没有加载到项目中,有人有想法吗?附加问题:在这个查询中,我选择了这个类型的所有属性,如果我只选择了部分属性,如何返回一个匿名类型的ObjectQuery?

任何建议表示赞赏。

0 投票
0 回答
321 浏览

asp.net - 嵌套查询中的 ESQL 聚合`COUNT()`

我有一个带有 SQL 的 url 参数的 ASP.NET 页面获取请求,用于 AJAX 以获取 JSON 响应。

例如:url: 'GridService.aspx?query=SELECT VALUE s.Name, s.Email FROM ModelContainer.StudentSet AS s'将获得Name和的信息Email

为了使用jqGrid实现分页,我必须将此查询的总数添加到 JSON 响应中。

但以下查询不适用于 ESQL:

这是因为在子查询中选择了两列。以下方法可以工作:

由于我不想选择不必要的列,我想知道是否有人可以举一个使前一个工作的例子。请注意,PKName也不是。Email

0 投票
1 回答
864 浏览

c# - 使用 Entity SQL 查询概念模型

我的应用程序基于实体框架。我提供用户通过将查询保存在另一个表中来查询特定表。例如,数据库中的 TopQuery 表存储了所有受用户欢迎的查询。这些查询在表“TableData”上执行

出于测试目的,我尝试了以下方法并且它有效。唯一的问题是它返回所有列,因为我想使用用户在查询中提到的列。

我的问题是,如果用户像这样在数据库中存储查询,它就不起作用。

我得到了异常:从物化 System.Data.Objects.MaterializedDataRecord' 到'TestEntities.TableData' 类型的指定转换无效。

我也试过这个没有任何运气。

在这种情况下我该怎么办?

问候,

0 投票
1 回答
162 浏览

entity-framework-4 - 如何在 esql 查询中获取实体类型的名称

我们遇到了一个场景,我们需要能够在 esql 语句的结果中将实体类型的名称作为值返回。

问题是,我们有一个通用的帮助器,它构建并运行一个 esql 语句以返回一个结果,该结果被传递到 MVC3 应用程序的 SelectList 中。

文本列是从添加到模型属性的属性中提取的表达式。

因此,例如,如果我们希望下拉列表将人名列为 Last,首先我们添加一个带有如下表达式的属性:'it.[LastName] + ", " + it.[FirstName]' 这会产生如下语句:

我们遇到了一个场景,涉及使用 TPT 的 EF4.3 中的抽象类型。我们需要使用这个辅助方法枚举派生实体。当我们只需要这样的基本数据时,该方法会很好地枚举并返回所有派生实体:

但是我们需要一种方法来指示每个实体是什么类型。像这样的伪代码:

有谁知道我如何做到这一点?

0 投票
1 回答
1725 浏览

entity-framework - 使用 ExecuteStoreQuery / esql 强制实体框架加载相关端

我的数据库中有一个 1-1 关系,当我使用.Include()EF 时会生成一个可怕的查询,该查询需要很长时间才能执行(多重连接)。所以我想 - 我会编写自己的查询来加载这些实体。我尝试了什么:

  • 我尝试使用 ExecuteStoreQuery,但这是浪费时间,因为它无法实现复杂的属性
  • 我尝试使用带有 ESQL 的对象查询,但即使我在那里添加连接,也不会加载相关属性。并且(显然)如果我添加一个.Include()then EF 会生成同样可怕的查询。

所以,问题是 - 有没有办法绕过 EF 生成的 SQL 查询来实现实体?

更新:只是 EF 查询的一个例子。

编码:

这会产生以下 SQL(我编辑了查询以使其更具可读性):