問題タブ [telerik-open-access]
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.
caching - テレリック データ アクセス ORM でキャッシュまたは同時実行を回避するにはどうすればよいですか?
ここで、ストアド プロシージャを使用して、最近の各都市の pm2.5 の平均濃度を計算したいと思います。ストアド プロシージャの最初の入力パラメータは、都市名の文字列Beijing,NewYork
で、その他の入力パラメータはbeginTime
andendTime
です。出力クラスは AvgPM25 と呼ばれます。
Beijing,NewYork
、、のようなパラメーターを渡し20140801
、20140802
結果を計算して出力します。今、私の問題は、検索時間のようなパラメーターを変更しようとすることがあり、入力パラメーターは、、のようなものですBeijing,NewYork
が20130801
、20140802
それでも前の検索結果である結果を出力しますこの問題はキャッシュまたは同時実行によるものですか?クラス プロパティの「CityName」の ID を AvgPM25
True に設定し、キャッシュ ポリシーを NoCache に設定し、同時実行モードを Changed に設定しようとしましたが、まだこの問題が発生しています?それを修正する方法?
telerik - Telerik OpenAccess - Varchar から Int へのマッピング
データベースで varchar の型に設定されている値に対して OData を使用して、整数比較 (たとえば、より大きいまたはより小さい) を実行しようとしています。私の特定のケースでは好まれないため、データベース フィールドを int 型に変更するソリューションを取り消します。Telerik OpenAccess に、クエリまたはマッピングの実行時にフィールドを整数型に変換するように指示する方法はありますか? ?
前もって感謝します。
asp.net-mvc - 子属性またはカスタム プロパティでの KendoGrid ServerSorting および ServerFiltering
サーバー側のデータのフィルタリングと並べ替えでブロックの問題があります。私の Kendo Grid はリクエストを C# バックエンドに送信します。これが起こることです:
すべての Employee オブジェクトを取得します (データ アクセスを使用します) 従業員には、FirstName、LastName などの個人情報を含む Person オブジェクトがあります。また、GroupName もあります。したがって、私のスキームは次のとおりです。
名または姓でフィルターまたは並べ替えを使用すると、属性「Person.FirstName」で従業員をフィルター処理しようとします。しかし、その人は私の DataAccess オブジェクトへの追加であるため、データベースにはありません。
GroupName でフィルターまたは並べ替えを使用すると、グループ名のみをフィルター処理しようとします。ただし、グループ名はバックエンドで入力され、EmployeeGroup.Name から取得されます
したがって、これらの行のいずれかでサーバー側をフィルタリングすることはできません。カスタム属性または子属性でフィルタリングできる可能性があるかどうか知りたいです。
前もって感謝します!
linq - グループ化するリンク
私は言う機能を持っています
エラーが発生します:
列 'tableName.DateStart' は、集計関数にも GROUP BY 句にも含まれていないため、選択リストでは無効です。
ステートメントを準備できませんでした。
欲望のグループ化を達成するにはどうすればよいですか?
c# - 大規模な .Net MVC プロジェクトのアーキテクチャに関するアドバイスが必要
できるだけ詳しく説明するように努めます。SO で同様の質問があるかもしれません。私はそれらすべてを調べましたが、必要なものはありません。
だから、私は大規模なC# MVC5ベースの Web プロジェクトから始めて、できるだけ分離した方法ですべてを整理したいと考えています。データベース部分については、Telerik (以前は Open Access として知られていた)の Data Access ORM を使用します。これは、プロジェクトにMySQLを使用するためです。
これまでのところ、以下のようにすべてを整理しました。プロジェクトを分割するためのソリューション レベル フォルダーを定義しました。
一般に、MVC プロジェクトでモデルをバインドする場合、ソリューションにプロジェクトが 1 つしかない場合は、問題なく簡単に機能します。
つまり、MVC コントローラーで
そして、対応するビューでこれを一番上で使用します
@model (model type here)
上記のように、これらすべてのレイヤーを独自のプロジェクトで分離すると。データ レイヤーは、データベースと直接通信するレイヤーであるため、Data ノードでTelerik Data Access rlinq スキーマを生成し、データベース内のテーブルのクラスも生成します (デフォルト構成)。
さて、上記の設定から、コントローラーからビジネスレイヤーを呼び出してデータを取得し、データノードと通信することになっています。
問題は、コントローラーとビューで、バインドしているモデルのデータ型/参照が必要になることです。では、自動生成されたクラスを引き続きデータ ノードに保持する必要がありますか?それとも、生成されたクラスのみを共有ノードに移動し、それらをコントローラー/ビューでバインディングに使用できますか? どれが良い練習になるでしょうか?コントローラーでデータノードを直接参照したくないので、上記のようにすべてを分離しても意味がありません。
別の簡単な質問です。REST/SOAP を介して非常に多くのサードパーティ API を統合します。これらはどのレイヤーに最適ですか?
他のアーキテクチャに関する提案や、ここで見逃しているものがある場合は、提案してください。
よろしくお願いします。
アップデート!!!
上記の更新されたアーキテクチャを参照してください。
これが私がこれまでにしたことです。
- リポジトリ、サービス、IoC を追加しました。
- 私の Global.asax では、サービスなどを構成する IoC を初期化しています。
- 私のコントローラーには、ビジネスレイヤーからのサービスをパラメーターとして持つオーバーロードされたコンストラクターがあります。
- コントローラはサービスを呼び出してデータを取得し、サービスはそのリポジトリを呼び出します。
- タイプごとにリポジトリを手動で作成する代わりに、一般的なリポジトリ パスに従いました。
- サード パーティの API については、データ レイヤーを使用しますが、ビジネスは後でデータがどこから来たのかわかりません。必要なものを尋ねるだけです。
- これはすべて、必要に応じてビジネス レイヤーとデータ レイヤーの両方から参照される専用のインターフェイス プロジェクトの助けを借りて容易になりました。両方とも abc インターフェースを実装したいので、循環参照があるため、ビジネス層またはデータ層で宣言することはできません。これにより、両方の (ビジネス/データ) プロジェクトを相互に参照できなくなります。
したがって、上記の変更の助けを借りて、今やりたいことを簡単に行うことができ、すべてが思い通りに完璧に機能しています。さて、私が持っている最後の質問は
このアーキテクチャに欠陥はありますか?
c# - Telerik OpenAccess : クラスのマッピングはファイル 'config' で指定されていますが、クラスが見つかりませんでした
Telerik Open Access を使用している C# の Windows サービスがあります。次のコード (クエリ) を呼び出すと、次のエラーが発生します。
コード
エラー
クラス 'Store.Data.User' のマッピングがファイル 'config' で指定されていますが、クラスが見つかりませんでした。--> StoreModel/namespace[Store.Data]/class[User]
エラーはクエリ自体に関連しているのではなく、リポジトリ/OpenAccess 構成に関連していると思われます。
誰かがこれについての洞察を持っていますか?
ありがとう!
c# - テレリック ORM エンティティ モデルのデータベースへの接続はいつ開かれますか?
コンテキストオブジェクトが初期化されたとき、またはコンテキストオブジェクトでlinqクエリが起動されたとき? データベース テーブルを更新するためのスレッドを作成するウィンドウ サービスが 1 つあります。各スレッドは、異なるクラスを呼び出し、コンテキスト オブジェクトを作成してデータを更新します。コンテキスト オブジェクトで dispose() メソッドを呼び出しましたが、接続を閉じませんでした。
どうにかして接続を制限する必要があります アドバイスをお願いします