問題タブ [fastmember]
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.
c# - FastMember ObjectReader は 0 の結果を返します
FastMember Library を使用して List of objects を dataTable に変換していますが、空のオブジェクトが返されるため、この問題を解決するのに誰か助けてもらえますか?
c# - FastMember を使用してネストされたプロパティ値を設定する方法
FastMember を使用してネストされたメンバー プロパティを設定しようとすると、例外が発生します。たとえば、これらのクラスがある場合
First.Second
にインスタンスを設定したい"hello"
。
この時点で深さが分からないので、["First"]["Second"] に分割することはできません。ネストされたプロパティへの魔法のアクセスはありますか、それとも自分で階層を分割する必要がありますか?
c# - Nullable に値を割り当てるFastMember の使用
この関数を使用して、プロパティとネストされたプロパティに値を正常に割り当てました
ただし、代入は InvalidCastException をスローします。FastMemberを使用する代わりにnull許容値を割り当てる方法は? 例えば
c# - FastMember 列の順序の保持
TypeAccessor.Create FastMember を使用すると、常にアルファベット順に並べ替えられた列のリストが返されるようです。クラス内の列の順序を保持するように指示することはできますか?
例えば:
GetMembersから列A、次にBを返します。可能であれば、B、Aの順序を維持するように取得したいと思います。
c# - FastMember ObjectReader は、継承されたインターフェイスでは機能しません
私が制御できないライブラリからの戻り値としてインターフェイスを取得します。
このコードを実行しようとすると、例外が発生します。
B
IBで宣言されているため、プロパティが見つからないようです。私はテストを行い、B をIA
直接入れることでこれを確認しました。
IA を実装する新しいクラスを作成することを含む、非常に悪い回避策を見つけました。
を次のように変換しList<IA>
ます: List<Ab> newList = l.Select(e => new Ab(e.A, e.B).ToList()
、次にObjectReader.Create(newList)
. これを行うと、ObjectReader はB
プロパティを見つけるようです。しかし、まったく同じ内容のこの中間オブジェクトを作成するには、リソース (および多くのコード) が非常に無駄に思えます。
新しいオブジェクトの作成を伴わない別の方法で解決できるかどうか、考えはありますか?
c# - 式を使用して構造体のプロパティを設定できますか?
PropertyInfo
指定された に指定されたの値を設定する次のメソッドがありますTInstance
。これは、反射の非効率性を回避するためです。
したがって、次のモデルが与えられます。
私はName
使用して設定することができます:
これはすべて問題ありませんが、struct
たとえば次の方法を試してみると:
名前は常にnull
. ボックス化/ボックス化解除がどういうわけか私を噛んでいると思います.
実際、使用FastMember
時に同じ動作が発生した場合:
ただし、person
asobject
をボックス化するとFastMember
、値を正しく設定できます。
値型のCreateSetter
場合にこのボクシングを処理する方法はありますか?TInstance
c# - .NET string[] を FastMember オブジェクトにマップしようとしていますが、エラーが発生しています/マッピングされていません
ファイル名のリストを単純な Sql Server テーブルに挿入しようとしています。
他のSOの回答で示唆されているように、 SqlBulkCopyと@markgravellのFastMemberライブラリを活用しようとしています。
したがって、次のいずれかのマッピングの問題だと思います。
- FastMember が一部の内部バッキング コレクションにマップできない
- FastMember バッキング コレクションには DB 列と同じ名前がないため、マップできません。
sqlbulkcopy - ObjectReader を使用した SqlBulkCopy - パラメータ値を文字列から Int32 に変換できませんでした
ObjectReader (FastMember) で SqlBulkCopy (.NET) を使用して、XML ベースのファイルからインポートを実行しています。適切な列マッピングを追加しました。
特定のインスタンスでエラーが発生します: パラメータ値を文字列から Int32 に変換できませんでした。
方法を理解したい 1. 失敗した実際のテーブル列をトレースする 2. ObjectReader で「現在」を取得する
サンプルコード:
「元」にはエラーだけでなく、より多くの情報が含まれていますか:
System.InvalidOperationException : The given value of type String from the data source cannot be converted to type int of the specified target column.