問題タブ [entityspaces]

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 に答える
91 参照

c# - クエリ結果からランダムなレコードを選択する必要がある

そのため、クエリが返す一連のレコードからランダムなレコードを選択できる必要があります。結果がどのコンテナに表示されるかわからないため、これを行う方法を理解するのに問題があります。データベースの永続化にもEntitySpacesを使用しているため、DBの対話性のほとんどはそこから来ています。

問題が発生している疑似コードを使用して、これを行うことになっているメソッドを以下に貼り付けました。

助けていただければ幸いです。EntitySpacesを使用しているため、この時点でGoogleに何を求めているのかさえわかりません.

ありがとうございました。

アップデート:

だからここに私がこれまでに思いついたものがあります。問題はif、コレクション内にこれらに対応する値があるはずであることがわかっているときに、ステートメントが false として評価されることです。

何か案は?

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

orm - EntitySpaces に遅延読み込み列を追加するにはどうすればよいですか?

EntitySpaces (「ES」) ORM の経験がない、または現在使用していない場合、この質問はあなた向けではありません。

私は 10 年前のアプリケーションを持っていますが、4 年後には注意が必要です。私のアプリケーションは EntitySpaces と呼ばれる現在は機能していない ORM を使用しています。現時点では、別の ORM に切り替えることはできないため、これを機能させる方法を見つける必要があります。

私が最後にアプリケーションに積極的に取り組んだ時から現在 (ES バージョン 2012-09-30) までの間に、EntitySpaces (「ES」) は、基盤となる ADO.net バックエンドに大きな変更を加えました。私が助けを求めているシナリオは、エンティティ コレクションが列のサブセットのみで読み込まれる場合です。

次に、最初の選択で読み込まれなかったプロパティをオーバーライドして、アクセサーで遅延読み込みできるようにします。以下は、完全に機能していた遅延読み込みプロパティの例です。

興味深い部分は、基になる DataTable DataColumn コレクションに列を追加する場所です。

ES の現行 (およびオープン ソース) 版 (バージョン 2012-09-30) に更新したときに、そのアクセサーから ADO.net 関連のものをすべてコメント アウトする必要がありました。つまり、「ImageData」列が正しく構成されておらず、データを変更してエンティティを保存しようとすると、次のエラーが表示されます。

列「ImageData」はテーブルに属していません。

私はESソースを調べて実験するのに数日を費やしましたが、エンティティをサポートするためにDataTableを使用しなくなり、代わりに「esSmartDictionary」を使用しているようです.

私の質問は次のとおりです。新しいバージョンの ES で機能していたのと同じ遅延読み込み動作を実現する、既知のサポートされている方法はありますか? ORM にエンティティ バッキング ストアに追加するように指示することで、最初の選択に含まれていなかったプロパティ (つまり、列) をどこで更新できますか?

0 投票する
0 に答える
148 参照

c# - EntitySpaces クエリは結果を返さないが、同じクエリを実行すると 1 つのレコードが返される

EntitySpaces を使用する従来の ServiceStack アプリケーションに新しい機能を追加する作業を行っています。非常に単純な SQL クエリを作成しています。実行すると、レコードがまったく返されません。コレクションをロードし、クエリをコピーして SSMS で実行しようとする場所にブレークポイントを設定すると、探しているレコードが取得されます。しかし、ESに実行させると、0の結果が得られます。

これがクエリです。

そしてここにC#があります

私が言ったように、実際の SQL クエリを実行すると、1 行が返されます (これが私の予想です)。C# は何も返しません。また、クエリのパラメーターは、SQL と C# で同じです。

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

c# - EntitySpaces の比較的複雑なクエリは、実際に実行した場合とは異なる結果を返します

仕事で維持しているアプリの新機能のデータを選択するために、比較的複雑な SQL クエリを取得しました (と私は考えています)。これがクエリです。

エンティティスペースでは、次のように記述しています。

ただし、ES アプリで (を使用してpchtc.Load(pchtq)) 実行すると、約 7500 行が得られますが、SQL クエリを実行すると、約 1500 行が得られます。

ここで何がうまくいかないのですか?