第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在哪里放置AutoMapper.CreateMaps?

在哪里放置AutoMapper.CreateMaps?

慕后森 2019-12-07 15:17:57
我AutoMapper在ASP.NET MVC應(yīng)用程序中使用。有人告訴我,我應(yīng)該將AutoMapper.CreateMap其他位置移到其他地方,因為它們的開銷很大。我不太確定如何設(shè)計我的應(yīng)用程序以將這些調(diào)用放在一個地方。我有一個Web層,服務(wù)層和一個數(shù)據(jù)層。每個項目都有自己的項目。我用Ninject一切都去DI。我將AutoMapper在Web和服務(wù)層中利用。那么,您對AutoMapper“ CreateMap”的設(shè)置是什么?你放在哪里?你怎么稱呼它?
查看完整描述

3 回答

?
瀟瀟雨雨

TA貢獻(xiàn)1833條經(jīng)驗 獲得超4個贊

沒關(guān)系,只要它是靜態(tài)類即可。一切都與慣例有關(guān)。


我們的約定是,每個“層”(Web,服務(wù),數(shù)據(jù))都有一個名為的文件AutoMapperXConfiguration.cs,并帶有一個名為的方法Configure(),其中X是該層。


Configure()然后,該private方法為每個區(qū)域調(diào)用方法。


這是我們的Web層配置的示例:


public static class AutoMapperWebConfiguration

{

   public static void Configure()

   {

      ConfigureUserMapping();

      ConfigurePostMapping();

   }


   private static void ConfigureUserMapping()

   {

      Mapper.CreateMap<User,UserViewModel>();

   } 


   // ... etc

}

我們?yōu)槊總€“聚合”(用戶,發(fā)布)創(chuàng)建一個方法,因此可以很好地分離事物。


然后您的Global.asax:


AutoMapperWebConfiguration.Configure();

AutoMapperServicesConfiguration.Configure();

AutoMapperDomainConfiguration.Configure();

// etc

它有點像“單詞的界面”-無法強(qiáng)制執(zhí)行,但是您期望得到它,因此可以在必要時進(jìn)行編碼(和重構(gòu))。


編輯:


只是以為我提到我現(xiàn)在使用AutoMapper 配置文件,因此上面的示例變?yōu)椋?/p>


public static class AutoMapperWebConfiguration

{

   public static void Configure()

   {

      Mapper.Initialize(cfg =>

      {

        cfg.AddProfile(new UserProfile());

        cfg.AddProfile(new PostProfile());

      });

   }

}


public class UserProfile : Profile

{

    protected override void Configure()

    {

         Mapper.CreateMap<User,UserViewModel>();

    }

}

更清潔/更堅固。


查看完整回答
反對 回復(fù) 2019-12-07
  • 3 回答
  • 0 關(guān)注
  • 1157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號