問題タブ [bltoolkit]

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

.net - 一部のテーブルフィールドをディクショナリにマップします

エンティティにカスタムフィールドを追加する機能を備えたレガシーシステムがあります。この機能は正確には正しく実装されていません。各エンティティテーブルはフィールドCustom1、...Custom 10で拡張され、さらに、エンティティテーブルの名前である大きなテーブルCustomFieldsEntityType、、、、... )があります。EntityIDCustom11Custom99EntityType

私たちは既存の悪いデータベースの上に新しいコードを構築しており、具体化するときにこれらすべての習慣を単一の辞書に入れる可能性を探しています。現在検討しているORMはBLToolkitEF4です(前者は現在使用されており、後者に移行する予定です)。

この種のマッピングを2つのいずれかで実装する可能性はありますか?たぶん、他のORM(おそらく、重いORMが欲しい)が役立つかもしれませんか?または、別の種類のベストプラクティスがありますか?

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

asp.net - Linq クエリは SQL に変換できません: コードを最適化するには?

正常に動作するコードのスナップショットを次に示します。

このコードは問題なく動作しますが、かなり小さいです。また、潜在的に再利用可能なロジックが含まれています。次の方法で最適化したいと思います。

実際、違いは、q1 オブジェクト (クエリ自体) を変更する代わりに、新しいデリゲートを結合し、クエリ式で使用した後です。

最適化されたコードを実行しようとすると、例外が発生します。

「Invoke(value(vfm_elita.ServiceLayer.DataLogicLayer.Messages.MessagesExtension+<>c_DisplayClass21+<> c_DisplayClass2c ).qAgeFilter, q.msg)」は SQL に変換できません。

質問:

  1. 私のコードの何が問題なのですか?

  2. 再利用可能なロジックを抽出して「フィルター」デリゲートを作成するために、ソース コードを最適化する方法を教えてください。

ありがとうございました

PS DB アクセス エンジンとして ASP.NET 4.0、MySQL 5.0、BLToolKit を使用しています。

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

c# - Bltoolkit: インスタンス プロパティの値をキャッシュする方法

Bltoolkit ( http://bltoolkit.net/doc/Aspects/CacheAspect.htm )を使用したキャッシュ アスペクトの例は、1 つのインスタンスのみで機能します。別のインスタンスを作成して cached メソッドを呼び出すと、最初のインスタンスでキャッシュされた値が返されます。

目標を達成するために、一意のオブジェクト キーを受け取り、「キャッシュ」属性をその新しいメソッドに移動する別のメソッドを作成できますが、それはやり過ぎのように見えます。キャッシュされるメソッドごとに、追加のパラメーターを使用して別のインスタンス メソッドを作成する必要があります。

Bltoolkit でキャッシュを実装するより良い方法はありますか? 何か不足していますか?

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

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

bltoolkit - BLToolkit - 非同期データベース操作は可能ですか?

データベースの読み取りが遅いために実行中のスレッドがブロックされるのを避けたい、BLToolkit DataAccessor がとても気に入っている

BLToolkit DataAccessor に非同期操作を使用することは可能ですか?

それが戻ってきて、C# 5.0からTask<T>使用できることを願っていますawait

Br.

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

asp.net-mvc - BLToolkit - オブジェクトの現在の状態のため、操作は無効です

ASP.NET MVC 4 アプリケーションで BLToolkit ライブラリを使用しています。以下の LINQ ステートメントを実行しようとすると、「オブジェクトの現在の状態のため、操作は有効ではありません」というメッセージが表示されます。

モデル:

df.LifeCycleYears と ff.ItemCount には ushort の型があるため、上記の LINQ ステートメントには暗黙的な ushort から 10 進数への変換があります。

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

exists - BlToolkit に存在

BlToolkit で linq を介してそのようなクエリを作成することは可能ですか?

つまり、BlToolkitがそれを理解できるように、linqで「Exists」コンストラクトを作成することは可能ですか?

ありがとう

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

asp.net-mvc-4 - BaseRepository クラスでの BlToolkit 挿入データの失敗

asp .Net MVC プロジェクトで BaseRepository を使用しています。編集操作は機能しますが、追加操作では、機能させるためのトリックを作成する必要があります。詳細には、私の基本リポジトリと BaseEntity クラス:

Add 操作を機能させるために 3 つの方法を試しました。最初の 2 つの方法でエラーが発生しました。

最初の方法 (動作しません):

エラーメッセージ: Cannot insert explicit value for identity column in table '...' when IDENTITY_INSERT is set to OFF.

--

2 番目の方法 (機能しません):

エラーメッセージ: Operation is not valid due to the current state of the object.

--

第三の方法 (作業):

--

編集操作はエラーなく動作しますが、追加操作にはいくつかのトリックが必要です。通常の追加操作の問題は何ですか? また、それを機能させる方法はありますか?

@Mladen Macanović のアドバイスを試しIdentity、ベース BaseEntity クラスの主キーに属性を追加したところ、int タイプの主キーを持つエンティティで上記のエラーが発生しました

上記のエラーは、int 型の主キーを持つエンティティで発生しました。

しかし、これは完全な解決策ではありません。私のエンティティの一部は主キーのタイプが Guidであるため、それらに属性を追加Identityすると別のエラーが発生するためです。

InsertBatch メソッドは、Identity 属性を使用せずに機能します。そのため、Identity 列の BaseEntity クラスの Identity 属性を使用せずにデータを追加できます。insertbatch メソッドの違いは何ですか? InsertBatchメソッドを使用せずに上記のエラーを解決するにはどうすればよいですか?

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

c# - 共通言語ランタイムが無効なプログラムを検出しました - ILGenerator

基本的に、バイト配列内のデータをオブジェクトに逆シリアル化しようとしています。文字列を読み取るために、UTF8エンコーディングのGetStringメソッドを使用しようとしています。ここに私のコードの一部があります:

このコードの外で「getstring」のメソッド署名を確認したところ、動作しました。「.boxIfAny」を削除しようとしましたが、「callvirt」ではなく「call」も使用してみました。私が理解しているように、「callvirt」は、この場合に適用されるインスタンスメソッドです。何か案は?