1

ValueInjecterは初めてですが、サンプルアプリから1週間使用しました。今これは私が使用しようとしているコードです

    public virtual TInput MapToInput(TEntity entity)
    {
        var input = new TInput();
        input.InjectFrom(entity)
            .InjectFrom<NormalToNullables>(entity)
            .InjectFrom<EntitiesToInts>(entity);
        return input;
    }

正常に動作していましたが、突然、input.InjectFromに時間がかかりすぎたようです。ここで何を台無しにしたのかよくわかりません。誰かが事前に感謝をアドバイスできますか?

更新:e.InjectFrom(input)

これは時間がかかりすぎるラインです。私はステータスタイプを持っており、POCOインスタンスに関連付けられた10,000を超える従業員レコードがあります...ステータスのみをマップすることを望んでいるMapperを使用していますが、何らかの理由でグラフ全体を解析しています。それを避ける方法を教えてくれる人はいますか?私の入力にはステータスフィールドしかなく、子リストも含まれていませんが、それでもマッパーは数分以上POCO全体を納得して解析していません。

4

1 に答える 1

0

インジェクション名「IdsToTypeIds」によると、DBに入り、データをプルすると思います。Repo.Get<Type>(Id)

一部のプロパティをトラバースしたくない場合は、Matchメソッドでこのルールを指定できます

また、必要に応じて、インジェクションはコンストラクターでパラメーターを受け取ることができます。

とにかく、最速の方法は SmartConventionInjectionを使用することであり、これを行うことをお勧めします

ソリューションにコピーして、ConventionInjectionを使用するのと同じように使用するだけです。

于 2012-03-16T10:17:01.923 に答える