問題タブ [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 投票する
1 に答える
463 参照

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(IQueryable1 ソース、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 でコード ファーストを実行します。)

0 投票する
1 に答える
255 参照

.net - ESQLのパラメーターとしてのObjectQuery

私が2つのエンティティを持っていると仮定します:EntそしてSubEntN:1の関係を持っています。したがって、ナビゲーションプロパティSubEnt.EntsとがありEnt.SubEntます。また、いくつかのObjectQueryを定義しています。

fromEntを持つすべてのエンティティを選択するESQLクエリを作成するにはどうすればよいですか?そんな感じ:Ent.SubEntse

ここで、@ p==seです。ネストされたクエリのように見えます。ただし、「スカラー型のみがサポートされている」ため、この構文は正しくありません。

0 投票する
1 に答える
1023 参照

entity-framework - ESQL から LINQ to Entities への変換。関連エンティティで並べ替え

私は EF + RIA を使用していますが、残念ながら、関連するエンティティによる並べ替えでいくつかの問題が発生します。そのような目的のために、私が実装した ESQL クエリがあります (このソリューションのみが見つかりました)。

テーブルの構造は次のとおりです。

LINQ to Entities アプローチを使用して、このようなもの (並べ替え) を書き直す方法はありますか?

0 投票する
1 に答える
615 参照

entity-framework - Entity SQL IN/マルチセットの問題

エンティティSQLで次のクエリを使用しています

値は、以下のコードを使用して実行時に置き換えられます。

これが実行されると、SQL Server で生成される対応するステートメントは次のようになります。

IN節の代わりに=節が代入されます。

ここで何か間違ったことをしていますか?

0 投票する
2 に答える
1034 参照

c# - エンティティ クエリ 'Like' は int 列をサポートしていません

Likeエンティティ フレームワーク クエリを使用して演算子を実装しようとしています。しかし、列Likeではサポートされていないようです。int

これが私のクエリです:

ご覧のとおり、Factory id は整数データ型です。実行すると、エラーが返されます。

LIKE 引数は文字列型でなければなりません。ニアメンバーアクセス式

他の誰かがこれを以前に試しましたか?

0 投票する
3 に答える
710 参照

c# - EntitySQL と SQL インジェクション

次のクエリ文字列があります

次のパラメータ置換で

しかし、私は常に例外になります:

キー式 'ORDER BY' には、即時入力スコープへの参照が少なくとも 1 つ必要です。ORDER BY句の近くの項目

query.Parameters.Add(...)これにより、すべてが引用符で囲まれていると思いますか?私もこれを読みましquery.Parameters.Add(...)たが、何も起こらない場合、どのような利益が必要ですか? OK、攻撃者は新しいクエリを開始しないかもしれませんが、現在のクエリを操作できると思いますか?

0 投票する
1 に答える
1300 参照

c# - クエリ文字列で開始するときに EntitySQL で DateTime 値を比較する

私はQueryBuilder次のように使用しています:

QueryBuilderこの例は非常に単純化されており、インスタンスを作成する前にクエリを文字列として作成することが目標であることに注意してください。(これが可能な限り)

私はすでに次のことを試しました

これらはすべて、DateTime を String または Int32 と比較できないという例外が発生します。

このアプローチでこれが可能かどうかを私に尋ね始めています...

0 投票する
1 に答える
573 参照

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 で同じことを行うにはどうすればよいですか?

0 投票する
1 に答える
4251 参照

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コマンド テキストまたはトレース文字列に関するプロパティはないようです。

ありがとう

0 投票する
2 に答える
2937 参照

asp.net - entitydatasource の like 演算子

asp .net フォームで EntityDataSource を使用しており、Gridview がそれにバインドされています。where 句は entityDataSource で使用されます。

@Nameパラメータです:

しかし、うまくいきません。@Name固定文字列で変更すると、次のように正しく機能します。