問題タブ [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.
.net - 一部のテーブルフィールドをディクショナリにマップします
エンティティにカスタムフィールドを追加する機能を備えたレガシーシステムがあります。この機能は正確には正しく実装されていません。各エンティティテーブルはフィールドCustom1
、...Custom 10
で拡張され、さらに、エンティティテーブルの名前である大きなテーブルCustomFields
(EntityType
、、、、... )があります。EntityID
Custom11
Custom99
EntityType
私たちは既存の悪いデータベースの上に新しいコードを構築しており、具体化するときにこれらすべての習慣を単一の辞書に入れる可能性を探しています。現在検討しているORMはBLToolkitとEF4です(前者は現在使用されており、後者に移行する予定です)。
この種のマッピングを2つのいずれかで実装する可能性はありますか?たぶん、他のORM(おそらく、重いORMが欲しい)が役立つかもしれませんか?または、別の種類のベストプラクティスがありますか?
asp.net - Linq クエリは SQL に変換できません: コードを最適化するには?
正常に動作するコードのスナップショットを次に示します。
このコードは問題なく動作しますが、かなり小さいです。また、潜在的に再利用可能なロジックが含まれています。次の方法で最適化したいと思います。
実際、違いは、q1 オブジェクト (クエリ自体) を変更する代わりに、新しいデリゲートを結合し、クエリ式で使用した後です。
最適化されたコードを実行しようとすると、例外が発生します。
「Invoke(value(vfm_elita.ServiceLayer.DataLogicLayer.Messages.MessagesExtension+<>c_DisplayClass21+<> c_DisplayClass2c ).qAgeFilter, q.msg)」は SQL に変換できません。
質問:
私のコードの何が問題なのですか?
再利用可能なロジックを抽出して「フィルター」デリゲートを作成するために、ソース コードを最適化する方法を教えてください。
ありがとうございました
PS DB アクセス エンジンとして ASP.NET 4.0、MySQL 5.0、BLToolKit を使用しています。
c# - Bltoolkit: インスタンス プロパティの値をキャッシュする方法
Bltoolkit ( http://bltoolkit.net/doc/Aspects/CacheAspect.htm )を使用したキャッシュ アスペクトの例は、1 つのインスタンスのみで機能します。別のインスタンスを作成して cached メソッドを呼び出すと、最初のインスタンスでキャッシュされた値が返されます。
目標を達成するために、一意のオブジェクト キーを受け取り、「キャッシュ」属性をその新しいメソッドに移動する別のメソッドを作成できますが、それはやり過ぎのように見えます。キャッシュされるメソッドごとに、追加のパラメーターを使用して別のインスタンス メソッドを作成する必要があります。
Bltoolkit でキャッシュを実装するより良い方法はありますか? 何か不足していますか?
ありがとうございました。
bltoolkit - BLToolkit - 非同期データベース操作は可能ですか?
データベースの読み取りが遅いために実行中のスレッドがブロックされるのを避けたい、BLToolkit DataAccessor がとても気に入っている
BLToolkit DataAccessor に非同期操作を使用することは可能ですか?
それが戻ってきて、C# 5.0からTask<T>
使用できることを願っていますawait
Br.
asp.net-mvc - BLToolkit - オブジェクトの現在の状態のため、操作は無効です
ASP.NET MVC 4 アプリケーションで BLToolkit ライブラリを使用しています。以下の LINQ ステートメントを実行しようとすると、「オブジェクトの現在の状態のため、操作は有効ではありません」というメッセージが表示されます。
モデル:
df.LifeCycleYears と ff.ItemCount には ushort の型があるため、上記の LINQ ステートメントには暗黙的な ushort から 10 進数への変換があります。
exists - BlToolkit に存在
BlToolkit で linq を介してそのようなクエリを作成することは可能ですか?
つまり、BlToolkitがそれを理解できるように、linqで「Exists」コンストラクトを作成することは可能ですか?
ありがとう
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
メソッドを使用せずに上記のエラーを解決するにはどうすればよいですか?
c# - 共通言語ランタイムが無効なプログラムを検出しました - ILGenerator
基本的に、バイト配列内のデータをオブジェクトに逆シリアル化しようとしています。文字列を読み取るために、UTF8エンコーディングのGetStringメソッドを使用しようとしています。ここに私のコードの一部があります:
このコードの外で「getstring」のメソッド署名を確認したところ、動作しました。「.boxIfAny」を削除しようとしましたが、「callvirt」ではなく「call」も使用してみました。私が理解しているように、「callvirt」は、この場合に適用されるインスタンスメソッドです。何か案は?