問題タブ [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' は予約済みのキーワードであり、エスケープしない限りエイリアスとして使用できません。行 1、列 1 付近。 System.Data.Common.EntitySql.CqlParser.yylex() の System.Data.Common.EntitySql.CqlParser.yyparse() の yylex() System.Data.Common.EntitySql.CqlParser.Parse(String query) の System. 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 行目
これは、テスト クラスの名前が「All」であることが原因のようです。
MyItems
プロパティは、Service
基本クラスのパブリック プロパティです。
クラス名が ESQL 型に変換され、予約語になっていると思います。ただし、私はそれを (直接) コントロールすることはできません。また、ESQL と TSQL は私の関心事ではないため、この問題がバブルアップするとは思いません。クラスの名前を変更します(「All2」に変更すると、すべて正常に機能します。)
式パーサー (具体的には、多分ExpressionConverter.Convert()
orのどこでもTranslateInlineQueryOfT
) が予約語を自動的にエスケープしないのはなぜですか?
この問題を解決する方法はありますか? クラス名の変更はハックです。
(MS SQL 2008 R2 に対して、.NET 4、EF 4.1 でコード ファーストを実行します。)
.net - ESQLのパラメーターとしてのObjectQuery
私が2つのエンティティを持っていると仮定します:Ent
そしてSubEnt
N:1の関係を持っています。したがって、ナビゲーションプロパティSubEnt.Ents
とがありEnt.SubEnt
ます。また、いくつかのObjectQueryを定義しています。
fromEnt
を持つすべてのエンティティを選択するESQLクエリを作成するにはどうすればよいですか?そんな感じ:Ent.SubEnt
se
ここで、@ p==seです。ネストされたクエリのように見えます。ただし、「スカラー型のみがサポートされている」ため、この構文は正しくありません。
entity-framework - ESQL から LINQ to Entities への変換。関連エンティティで並べ替え
私は EF + RIA を使用していますが、残念ながら、関連するエンティティによる並べ替えでいくつかの問題が発生します。そのような目的のために、私が実装した ESQL クエリがあります (このソリューションのみが見つかりました)。
テーブルの構造は次のとおりです。
LINQ to Entities アプローチを使用して、このようなもの (並べ替え) を書き直す方法はありますか?
entity-framework - Entity SQL IN/マルチセットの問題
エンティティSQLで次のクエリを使用しています
値は、以下のコードを使用して実行時に置き換えられます。
これが実行されると、SQL Server で生成される対応するステートメントは次のようになります。
IN
節の代わりに=
節が代入されます。
ここで何か間違ったことをしていますか?
c# - エンティティ クエリ 'Like' は int 列をサポートしていません
Like
エンティティ フレームワーク クエリを使用して演算子を実装しようとしています。しかし、列Like
ではサポートされていないようです。int
これが私のクエリです:
ご覧のとおり、Factory id は整数データ型です。実行すると、エラーが返されます。
LIKE 引数は文字列型でなければなりません。ニアメンバーアクセス式
他の誰かがこれを以前に試しましたか?
c# - EntitySQL と SQL インジェクション
次のクエリ文字列があります
次のパラメータ置換で
しかし、私は常に例外になります:
キー式 'ORDER BY' には、即時入力スコープへの参照が少なくとも 1 つ必要です。ORDER BY句の近くの項目
query.Parameters.Add(...)
これにより、すべてが引用符で囲まれていると思いますか?私もこれを読みましquery.Parameters.Add(...)
たが、何も起こらない場合、どのような利益が必要ですか? OK、攻撃者は新しいクエリを開始しないかもしれませんが、現在のクエリを操作できると思いますか?
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 コマンド テキストを取得していました。今、私が必要としているのは、ネイティブ SQLステートメントではなく、 Entity -SQL ステートメントです。
しかし、クエリをIQueryable<Person>
toObjectQuery
またはにキャストすることはできませんObjectQuery<Person>
。DbQuery
リフレクションで のメンバーを取得しようとしました。DbQuery
コマンド テキストまたはトレース文字列に関するプロパティはないようです。
ありがとう
asp.net - entitydatasource の like 演算子
asp .net フォームで EntityDataSource を使用しており、Gridview がそれにバインドされています。where 句は entityDataSource で使用されます。
@Name
パラメータです:
しかし、うまくいきません。@Name
固定文字列で変更すると、次のように正しく機能します。