问题标签 [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.
c# - 查询提供程序将 ELINQ 查询编译为 ESQL 时,类名是保留字
我收到此错误:
System.Data.DataException:初始化数据库时发生异常。有关详细信息,请参阅 InnerException。---> System.Data.EntitySqlException: 'All' 是保留关键字,不能用作别名,除非转义。在 System.Data.Common.EntitySql.CqlLexer.MapIdentifierOrKeyword(String symbol) 在 System.Data.Common.EntitySql.CqlLexer 的 System.Data.Common.EntitySql.CqlLexer.MapUnescapedIdentifier(String symbol) 的第 1 行附近。 yylex() 在 System.Data.Common.EntitySql.CqlParser.yylex() 在 System.Data.Common.EntitySql.CqlParser.yyparse() 在 System.Data.Common.EntitySql.CqlParser.Parse(String query) 在系统。 Data.Common.EntitySql.CqlQuery.Parse(String commandText, ParserOptions parserOptions) 在 System.Data.Common.EntitySql.CqlQuery.CompileCommon(String commandText,
...<剪辑>...
在 System.Data.Entity.Infrastructure.DbQuery
1.System.Linq.IQueryable.get_Provider() at System.Linq.Queryable.Where(IQueryable
1 源,Expression`1 谓词)在 All.cs 中的 MyNamespace.All.GetEmptyList():第 35 行
这似乎是由测试类的名称为“全部”引起的。
该MyItems
属性是Service
基类的公共属性:
我假设我的类名正在转换为 ESQL 类型,这会将其转换为保留字。但是,我对此没有(直接)控制权,并且由于 ESQL 和 TSQL 不是我关心的问题,我认为这个问题不应该冒泡,特别是因为我不知道我能做些什么,除了从重命名我的班级(如果我将其更改为“All2”,一切正常。)
为什么表达式解析器(无论具体在哪里,可能是ExpressionConverter.Convert()
or TranslateInlineQueryOfT
)不会自动转义保留字?
有没有办法可以解决这个问题?更改类名是一种技巧。
(使用 .NET 4、EF 4.1 运行代码优先,针对 MS SQL 2008 R2。)
.net - ObjectQuery 作为 ESQL 中的参数
假设我有 2 个实体:Ent
并且SubEnt
具有 N:1 关系。因此,有导航属性SubEnt.Ents
和Ent.SubEnt
. 另外,我定义了一些 ObjectQuery:
如何创建从Ent
具有Ent.SubEnt
from 的所有实体中选择所有实体的 ESQL 查询se
?像这样的东西:
其中@p == se。它看起来像一个嵌套查询。但是这种语法不正确,因为“仅支持标量类型”。
entity-framework - 将 ESQL 转换为 LINQ 到实体。按相关实体排序
我正在使用 EF + RIA,不幸的是,在按相关实体排序时遇到了一些问题。为此目的,我实现了 ESQL 查询(仅找到此解决方案):
表具有以下结构:
有没有办法使用 LINQ to Entities 方法重写这些东西(排序)?
entity-framework - 实体 SQL IN/Multiset 问题
我在实体 sql 中使用以下查询
该值在运行时使用以下代码替换:
执行时,sql server中生成的相应语句如下:
代替IN
子句的=
子句被替换。
我在这里做错什么了吗?
c# - 实体查询“喜欢”不支持 int 列
我正在尝试Like
通过使用实体框架查询来实现运算符。但它似乎Like
不受int
列的支持。
这是我的查询:
如您所见,Factory id 是整数数据类型。当我执行它时,它返回一个错误:
LIKE 参数必须是字符串类型。近成员访问表达式
有没有其他人尝试过这个?
c# - EntitySQL 和 SQL 注入
我有以下查询字符串
使用以下参数替换
但我总是以异常告终:
键表达式“ORDER BY”必须至少有一个对直接输入范围的引用。近 ORDER BY 子句项
我猜这发生了导致query.Parameters.Add(...)
全部用引号括起来?我也读过这篇文章,但是如果什么都没有发生,我需要什么好处query.Parameters.Add(...)
呢?好吧,攻击者可能不会开始新的查询,但我猜他可以操纵当前?
c# - 从查询字符串开始时比较 EntitySQL 中的 DateTime 值
我正在使用QueryBuilder
如下:
请注意,我非常简化了这个示例,并且我的目标是在创建QueryBuilder
实例之前将查询构建为字符串。(只要这是可能的)
我已经尝试了以下
这都会导致一个异常,即我无法将 DateTime 与 String 或 Int32 进行比较。
我开始问我这种方法是否有可能......
subquery - EntitySQL 'IN 子查询
我有以下 T-SQL:
SELECT Cust.[CompanyName]
FROM Customers AS Cust
WHERE
(
Cust.[CompanyName] IN (SELECT CustSQ1.[CompanyName] AS [Customer Company name]
FROM Customers AS CustSQ1
WHERE
(
CustSQ1.Country = 'Argentina' )
) )
我如何在 EntitySQL 中做同样的事情?
linq - 如何通过 LINQ 查询获取 Entity-SQL 命令文本?
这是 EF 代码优先的练习。有一个简单的方法。我想获取对象服务生成的 Entity SQL 命令文本。
(MyDbContext派生自DbContext 。Person是 POCO 类。)
ObjectQuery.TraceString
我曾经在 LINQ to Entity 中获取本机 SQL 命令文本。现在,我需要的是 Entity-SQL 语句,而不是本机 SQL 语句。
但是,我无法将查询从IQueryable<Person>
toObjectQuery
或ObjectQuery<Person>
。DbQuery
我试图通过反思来获得成员。似乎DbQuery
没有关于命令文本或跟踪字符串的任何属性。
谢谢
asp.net - 像实体数据源中的运算符
我在 asp .net 表单中使用 EntityDataSource 并且 Gridview 绑定到它。在 entityDataSource 中使用了 where 子句:
@Name
是一个参数:
但它不起作用。当我@Name
使用固定字符串进行更改时,它可以正常工作,如下所示: