問題タブ [devart]

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

c# - EntityFramework-EFがLEFTOUTERJOINを1対1の関係で使用するのはなぜですか?

.NET Entity Frameworkが、単純な1対1の関係でサブクエリと左外部結合を使用するSQLを生成するのはなぜですか?2つのテーブルで単純な結合が表示されることを期待していました。Devart DotconnectforOracleを使用しています。何か案は?

以下は、EFTracingProviderの好意で見た出力です。

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

mysql - Linq to Entities と LEFT OUTER JOIN の問題と MANY:1 の関係

Linq to Entities が多対 1の関係をleft outer joinではなく に変換するのはなぜinner joinですか? DB 自体に参照制約があり、正しいテーブルにレコードが存在することを保証するため、inner join代わりに使用する必要があります (はるかに高速に動作します)。

関係が0..1 に対して left outer join多ければ、正しいでしょう。

質問

inner joinではなくに変換されるような方法で LINQ を記述することは可能ですかleft outer join。これにより、クエリの実行が大幅に高速化されます...以前に eSQL を使用したことがありませんが、この場合に使用するのが賢明でしょうか? それは私の問題を解決しますか?

編集

バックグラウンドで使用しているテクノロジーを含めるようにタグを更新しました。

  • エンティティ フレームワーク V1
  • Devart dotConnect for Mysql
  • MySql データベース

Microsoft SQLサーバーで同じことが当てはまるかどうかを誰かがテストできれば、これがDevartの問題なのか、それとも一般的なL2EF機能なのかについての洞察も得られます...しかし、ここではEFが原因だと思います.

0 投票する
6 に答える
4418 参照

mysql - Skip()、Take()、OrderBy() で LINQ 式の順序を制御できますか

ページングされた結果を表示するために LINQ to Entities を使用しています。Skip()しかし、 、 、Take()およびOrderBy()呼び出しの組み合わせに問題があります。

OrderBy()割り当てが遅すぎることを除いて、すべて正常に機能します。Skip()結果セットがandによって切り捨てられた後に実行されTake()ます。

したがって、結果の各ページには順番に項目があります。ただし、セット全体を並べ替えてから と でそれらのレコードを制限するのではなく、一握りのページのデータに対して並べ替えが行われSkip()ますTake()

これらのステートメントに優先順位を設定するにはどうすればよいですか?

私の例(簡略化)

1つの可能な(しかし悪い)解決策

考えられる解決策の 1 つは、クラスター化インデックスを適用して列ごとに並べ替えることですが、この列は頻繁に変更されるため、挿入および更新時にデータベースのパフォーマンスが低下します。そして、私は本当にそれをしたくありません。

編集

ToTraceString()order by が結果セットに適用されるタイミングを実際に確認できるクエリを実行しました。残念ながら最後に。:(

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

sql-server - 従来の非階層型(2層)のDelphi win32アプリケーションにWebインターフェイスを追加するためのトリックとしてWeb用のVCL(イントラネット)を使用することは理にかなっていますか?

私のチームは、巨大なクライアントサーバーwin32Delphiアプリケーションを維持しています。これは、DevArt(SDAC)コンポーネントを使用してSQL Serverに接続するクライアント/サーバーアプリケーション(シッククライアント)です。

ビジネスロジックは、コンポーネントのイベントハンドラーに「トラップ」されることがよくありますが、いずれにせよ、ある程度のリファクタリングを使用すると、ビジネスロジックを共通のユニットに移動できます(この作業の大部分は、リファクタリング中にすでに実行されています...レガシーアプリケーションを誰かに保守する他の人が書いたのは非常にイライラしますが、これは非常に一般的な仕事です)。

Webインターフェイスの要求があります。もちろん、いくつかのオプションがあります。この質問では、Web(イントラWeb)オプションのVCLに焦点を当てたいと思います。

アイデアは、クライアント/サーバーアプリケーションとWebアプリケーションの両方に共通のコード(同じpasファイル)を使用することです。レガシーアプリをデルファイからイントラネットに移行した多くの人の話を聞きましたが、ここではシッククライアントも維持しようとしています。

アイデアは、一般的なコードを使用することです。特定のコードを記述するために、いくつかのコンパイラ指令を使用する場合があります。

次に、もう1つの問題は「移行計画」です。たとえば、300の機能があり、最初のリリースでは、Webアプリケーションで使用できるのはそのうちの50だけだとします。それを追跡する方法は?私はこれを処理するためにDelphiインターフェースを(ab)使用することを考えていました。たとえば、ユーザー認証の場合、プロシージャ内のすべての関連コードを移動して、次のようなインターフェイスを宣言できます。

このようにして、両方のアプリケーション(シッククライアントとイントラウェブ)にIUserAuthenticationインターフェイスを実装すると、その機能がWebに「移植」されたことがわかります。とにかく、このアプローチが理にかなっているかどうかはわかりません。プロセス全体をシミュレートするためのプロトタイプを作成しました。これは「Helloworld」アプリケーションで機能しますが、大規模なアプリケーションで意味があるのか​​、それともこのインターフェイスのアイデアは逆効果であり、裏目に出る可能性があるのでしょうか。

私の質問は、このアプローチは理にかなっていますか?(インターフェイスのアイデアは単なる追加のアイデアであり、上記の一般的なコード部分ほど重要ではありません)それは実行可能なオプションですか?

私はそれが多くの種類のアプリケーションに依存することを理解しています、とにかく一般的に私のものはCRM /アカウンティングドメインにあり、単一のインストールでの同時ユーザーの数は通常20未満で、ピークは50です。

追加コメント(更新):私はn層アプリケーションを持っていないので、イントラウェブをシッククライアントと共通のコードを持つWebアプリケーションを持つためのユニークなオプションと見なしているので、この質問をします。DelphiコードからWebサービスを開発することは私の特定のケースでは意味がないので、ASP.NET(ビジネスロジックを複製する)を使用してWebインターフェイスを作成することもできますが、この場合、簡単な方法。はい、おそらくdllを使用できますが、私のコードはそれに適していません。

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

linq - LINQの変更の更新に関する問題

データベースの更新に問題があります。アプリは更新された値を表示しますが、データベースは表示しません。エラーは返されませんでした。私のテーブルにはPKがあります。DotConnect for Oracleを使用しますが、LINQ構文は同じです。

コンソールは正しい更新値を読み取りますが、DBは更新されません。

データ関数、DFunc.GetFoodOrder(Oid)およびデータコンテキスト関数は以下のとおりです。どちらもLINQDALとして別のアセンブリに含まれています。

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

linq - asp.netmvcでの役割に応じてリストを動的にグループ化する方法

これが私のシナリオです。寄付者の提供レベルまたは単にそのソート名でグループ化するページを表示しているユーザーに応じて、寄付者を一覧表示するページが必要です。私を投げかけているひねりは、私たちが匿名ドナーをグループ化し、グループ化に基づいてカウントを与えたいということです。

私のコントローラーには

のようなものが欲しいのですが

これを自分のビューに渡して、どういうわけかビューに表示することができます

(私はまだasp.net MVCとLINQに慣れていないので、私が間違っていることを説明するための役立つ参考資料もいただければ幸いです)。

本当にありがとう。

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

sql-server - Delphi:パラメータが使用されたときにサーバーに渡されるクエリを取得する方法

DevartTMSQuery.SQL内にパラメーターを含むクエリがあります。何かのようなもの

コードで私はします

サーバーに送信された正確なSQLコマンドをデバッグして確認したいのですが、TMSQuery.sqlを使用しようとすると、:CustomerIDだけが表示されますが、次のようにします。

すべてのパラメーターを読み取ったり、クエリを何度も再構築したりせずに、これをすばやく実行する方法はありますか?

もちろん、100を超えるパラメーターを含む非常に大きなクエリがあります。これが、これが必要な理由です。

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

delphi - データセットのキャッシュに関する提案

次のことを実行したいと思います。

1) データセットを開く (TMSQuery、SDAC DevArt コンポーネントを使用)

2) コンテンツをディスクにキャッシュする (カットマーのリストを想像してください)

3) 次にデータセットを開く必要があるときは、最初にキャッシュされたデータを入力します。次に、TMSQuery.RefreshQuick メソッドを呼び出してデータを更新します。

このようにして、以前のアプリケーションの実行で既に取得したレコードを取得する必要がないため、速度を大幅に改善する予定です。

このキャッシュを取得するにはどうすればよいですか? 私はTMSQueryを備えた多くのデータモジュールを持っているので、どういうわけか、TMSQueryを開こうとするたびにチェックするグローバルルーチンが必要です. Open を呼び出します。

提案していただけますか?

(私は Delphi 2009 と SDAC 4.80 を使用しています)

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

delphi - TCRDBGridコンポーネントの検索テキストにアクセスするにはどうすればよいですか?

Devart(Core Lab)TCRDBGrid検索バーに入力されたテキストにアクセスする方法はありますか?

OnKeyDownイベントを実装しようとしましたが、グリッド自体が選択されている場合にのみ、検索フィールドへの入力中にイベントが発生しませんでした。関連性があると思われる他のイベントはありません。

テキストは、TCRDBGridの一部であるがプライベートであるTCRGridTitleEditの一部であるTEditに入っているように見えます。

検索テキストを取得する方法はありますか?

TCFGBGridの例:

UserId 987654が存在しない場合、「新しいユーザー987654を作成しますか?」のようなプロンプトを表示したいと思います。UserIdを987654に設定して新しいレコードを作成する可能性があります。

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

.net - 大きな BLOB を書き込むと InvalidOperationException がスローされる

.net エンティティ フレームワークを使用して、大きな BLOB を MySQL データベースに書き込めません。Blob < 1MB は問題なく動作します。1MB を超えるブロブを書き込もうとすると、「接続を開く必要があります」というテキストを含む InvalidOperationException が発生します。発生します。

私は使っている:

  1. ビジュアル スタジオ 2010
  2. .Net 3.5
  3. Devart ADO.NET Entity Framework (最新)
  4. MySSQl (最新)

助けていただければ幸いです。