0

サービス レイヤーを含む標準のリポジトリ パターンがあり、Game という POCO オブジェクトをマップする必要があります。

public class Game
{    
    public int Id { get; set; }
    public int GameTypeId { get; set; }
    public int GameStateId { get; set; }
    public int? PreviousGameId { get; set; }
    public DateTime EndOn { get; set; }
    public DateTime StartOn { get; set; }
}

GameId というメンバーを持つビュー モデルにマップします。だからId > GameId

ただし、マッピング規則を作成すると、オブジェクトの末尾に GUID が付加されているように見えます。

動的プロキシからPOCOにマッピングせずに、これらのPOCOオブジェクトを適切にマッピングする値インジェクタを取得するにはどうすればよいですか..またはそれは不可能ですか?

4

3 に答える 3

0

プロキシ生成と遅延読み込みをオフにしてしまい、今はすべてをイーガー ロードするだけです

于 2012-04-06T15:20:36.433 に答える
0

今日、Entity Framework Dynamic Proxies で同じ問題が発生しました。プロキシを無効にせずに ValueInjecter を機能させる方法は次のとおりです。

非プロキシ クラスに基づいて、Mapper.AddMap を使用してカスタム マップを作成しました。プロキシ クラスを受け取ったため、実行時に Mapper.Map への呼び出しがマップと一致しませんでした。

var customerInput = Mapper.Map<CustomerInput>(customer); //runs default map

入力型と出力型の両方で Mapper.Map を呼び出すと、うまくいきました!

var customerInput = Mapper.Map<Customer, CustomerInput>(customer); //runs custom map
于 2018-11-13T19:59:44.997 に答える
-1

プロキシをマッピングする前に、基になる POCO の型にプロキシを明示的にキャストしてみてください。

于 2012-03-26T11:24:21.803 に答える