问题标签 [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.
sql - 实体 sql 计数为空
我在使用 Entity SQL 计算空值时遇到问题。
SQL中的代码:
在 Linq to Entity 中:
两者都返回正确的值:
但是,Entity SQL 代码编写如下:
返回:
为什么 NULL 没有正确计算?我该如何解决?
.net - Teradata .NET 提供程序代码首先失败 - 不支持实体函数
好吧。在过去的几周里,我非常努力地学习了 .NET 数据提供程序用于 teradata 并建立了一个基础设施来查询 Teradata 数据源。一切都很棒,除了......
提供者不支持规范实体函数。好吧。然后我查看下面的链接,上面说我应该使用“Teradata.DiffDays”和“EntityFunctions.DiffDays”。
因此,我很高兴地尝试在我的 LINQ to Entities 查询中使用“Teradata.DiffDays”:
var 结果 = IMAccts.Where(acct => acct.ACCT_CLSD_DT != null && Teradata.DiffDays(ACCT_OPEN_DT, ACCT_CLSD_DT) >= 90).Dump();
命名空间“Teradata”中不存在类型或命名空间名称“DiffDays”。
但是,我观察到可以在 Entity SQL 中使用相同的 Teradata.DiffDays,如下所示:
选择 Teradata.DiffDays(ACCT_OPEN_DT,ACCT_CLSD_DT) 作为 IMAccts 的差异
我的问题是:
1)“Teradata”命名空间下的函数如何在 Entity SQL 中而不是在 LINQ to Entities 中被识别?
2)我是否可以通过提供我自己的 DateDiff 函数来解决这个问题?(请注意,在本地收集数据然后应用日期操作绝对不是一种选择)
entity-framework - 在实体框架的模型定义函数中定义子查询
是否可以在实体框架的模型定义函数中定义子查询?我们有一种情况,我们有一个客户对象,该对象在另一个表中具有名称历史记录。我们希望返回最新的名称作为该客户对象的一部分。
模型定义的函数可能如下所示:
不幸的是,上述方法不起作用。我们得到一个错误:
在函数 'SNCCModel.CurrentLegalName' 的声明中指定的结果类型 'Edm.String' 与结果类型 'Transient.collection[Transient.rowtype(LEGAL_NAME,Edm.String(Nullable=True,DefaultValue=,MaxLength= 512,Unicode=False,FixedLength=False))]' 函数定义
有什么建议么?这应该工作吗?抱歉,重构我们的数据模型以将最新的名称存储在客户表中是不可行的。
谢谢,瑞克
c# - C#。EF 实体 sql。如何获取具有相关对象的实体?
例如,我制作了简单的模型。
我需要让出版商提供相关书籍。我知道如何使用 linq to 实体来做到这一点。是否可以使用实体 sql 解决问题?
查询返回所需的数据,但它是List<DbDataRecord>
- 对列表<publisher, book>
。如何将其翻译为具有填充导航属性“书籍”的出版商列表?是否可以编写直接返回的查询List<Publisher>
?
entity-framework - 在 entityframework entity-sql 中使用 datediff
我想使用 EntityFramework entity-sql 查询来做这样的事情。我正在使用.Net3.5
c# - 实体框架/ESQL 查询删除前导零?
我正在尝试构建一个 ESQL 查询,该查询应在通过提供的邮政编码和门牌号成功匹配其单个地址字段后返回地址实体。
门牌号始终位于字符串的开头,但有时以零为前缀,即。
042a假街
我想在 a.Address 字段上使用 trim() 或 ltrim() 但它似乎不适用于空格以外的任何东西?
这是我的查询的简化版本:
任何帮助将一如既往地感激不尽!
entity-framework - System.Linq.Dynamic、EntitySQL 和表达式树之间的区别
我目前正在开展一个广泛使用实体框架的大型项目。我们实现的部分功能是基于用户提供的过滤器对各种数据模型进行动态查询(过滤器/排序)。
为了实现这一点,我最终使用System.Linq.Dynamic
which 允许我通过各种方式创建基于字符串的过滤器,例如 like 等"SomeProperty.StartsWith(@P0)"
,然后将这些字符串(和伴随的参数)传递给IQueryable<T>
(Where
等) 的 Dynamic Linq 扩展方法,以便他们对数据库执行,每个人都很高兴。
当时我不知道任何其他方法可以做到这一点,除了表达树的模糊概念,老实说,我无法理解它们 - 我花了几个星期仔细研究使用的组件的反编译实现动态查询的表达式,我犹豫了:)
另外,当我有效需要的功能已经由比我聪明得多的人在
System.Linq.Dynamic
扩展中编写时,感觉就像我在重新发明轮子。
现在,当前代码在我的任何实体上都可以很好地用作过滤、排序等的通用解决方案,我对此感到很满意,但是随着我对 EF 越来越熟悉,我开始遇到类似的事情
我开始怀疑,考虑到它System.Linq.Dynamic
已经快 6 岁了,在那段时间里还没有真正做任何事情,我错过了什么吗?或者,我错过了一些基本点吗?
我应该硬着头皮把我的代码库移过来使用
EntitySQL
吗?(我认为这就像 的精神继承者System.Linq.Dynamic
,还是我错了?)或者我应该回去学习如何使用
Expression Trees
,因为它们是未来的方式/所有酷孩子都这样做,等等?我不喜欢为了改变而改变,我喜欢有效的代码,但我担心在未来的某个时候,基于字符串的动态 linq 会成为死胡同,我会一直使用它。
如果有人可以帮助澄清 和 之间的区别System.Linq.Dynamic
,EntitySQL
或者可以找出任何充分的理由来移动,Expression Trees
我将非常感激。
c# - EntitySql 创建查询返回类型
我非常熟悉从我的模型中返回一个实体,CreateQuery<T>
但是如何从多个表中返回结果呢?我已经通过使用接近了,CreateQuery<dynamic>
但这似乎返回了一个System.Data.Entity.Core.Objects.MaterializedDataRecord
我无法使用的对象。
sql - 使用带有实体 SQL 的 ANYELEMENT 的子查询
根据 Entity SQL 的 Microsoft 文档 ( http://msdn.microsoft.com/en-us/library/bb738573.aspx ),为了返回标量子查询,我需要使用函数 ANYELEMENT()。
但是,当我尝试将其作为返回值时:
System.Data.Query.ResultAssembly.BridgeDataRecord
我的查询:
我应该得到更像这样的东西:
但我得到了这个:
有任何想法吗?
linq - 获取 EF 中未按 ID 排序的下一条记录
我需要编写一个返回单个记录的查询,该记录将是具有提供 ID 的记录中的下一条记录。
问题是数据不是按 ID 排序的,而是按其他一些标准排序的。查询示例:
例如,此查询返回 25 条记录。假设在此结果集中,ID=42 的记录是第 7 条记录。这意味着我们需要返回第 8 条记录。
等效的 Linq 将是
但是,此查询不适用于 linq to entity,那么 L2E(或 EntitySQL)中的等价物是什么?