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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何使用 Linq 的 Select 方法并將每個(gè)實(shí)體傳遞給 automapper

如何使用 Linq 的 Select 方法并將每個(gè)實(shí)體傳遞給 automapper

C#
元芳怎么了 2021-11-14 15:47:59
在我的 ASP.NET MVC 項(xiàng)目中,我有一個(gè) HttpGET 方法,我需要從數(shù)據(jù)庫(kù)中獲取車輛列表。很簡(jiǎn)單,直接獲取數(shù)據(jù),傳遞列表即可查看。但是我正在學(xué)習(xí) udemy(asp.net MVC 5 完整版)的教程,其中作者使用 Automapper 自動(dòng)將對(duì)象與其 Dtos 映射。在本教程中,它是 Automapper 4.1 版,但我使用的是 7.x 版。因此,在我的 get 方法中,我無(wú)法理解如何編寫 Linq 查詢以獲取所有車輛并將每個(gè)車輛映射到其 dto 并作為列表發(fā)送。[HttpGet]public IEnumerable<VehicleDto> GetVehicles(){     return _context.Vehicles.ToList().Select(Mapper.Map<Vehicle,VehicleDto>(**How can I send each object here**));     //return _context.Vehicles.ToList();}我已經(jīng)瀏覽了 Automapper 中的幫助文檔,但找不到合適的示例,或者我不明白如何應(yīng)用該材料來(lái)解決我的問(wèn)題,請(qǐng)幫助。
查看完整描述

2 回答

?
飲歌長(zhǎng)嘯

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊

假設(shè)_context.Vehicles.ToList()返回一個(gè)IList<Vehicle>,您可以執(zhí)行以下操作:


[HttpGet]

public IEnumerable<VehicleDto> GetVehicles()

{

    return Mapper.Map<IList<Vehicle>, List<VehicleDto>>(_context.Vehicles.ToList());

}

這還假設(shè)您已經(jīng)使用以下內(nèi)容配置了從Vehicle到的映射VehicleDto:


cfg.CreateMap<Vehicle, VehicleDto>();

或者,您可以使用 LINQ 的 select 運(yùn)算符并執(zhí)行以下操作來(lái)調(diào)用Map單個(gè)項(xiàng)目而不是整個(gè)集合:


[HttpGet]

public IEnumerable<VehicleDto> GetVehicles()

{

    return _context.Vehicles.Select(v => Mapper.Map<Vehicle, VehicleDto>(v)).ToList();

}

更新: 切換Vehicle并VehicleDto反映 OP 在評(píng)論中顯示的信息,表明他將數(shù)據(jù)存儲(chǔ)Vehicle在數(shù)據(jù)庫(kù)中,并且他的方法應(yīng)返回VehicleDto.


查看完整回答
反對(duì) 回復(fù) 2021-11-14
?
犯罪嫌疑人X

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

您之前是否定義了映射器類?


您在啟動(dòng)時(shí)加載類。


App_Start 文件夾。創(chuàng)建一個(gè)名為 MapModelEntity.cs 的類 

public class MapModelEntity

{

    public static void RegisterMapping()

    {

        Mapper.Initialize(config =>

        {

          config.CreateMap<StatusEntity, StatusTypeModel>().ReverseMap(); // For bothways

          config.CreateMap<Vehicle, VehicleDto>() // For custom mapping

                .ForMember(dest => dest.Prop1,

                           opts => opts.MapFrom(src => src.Prop1)); 

        }

添加對(duì) Global.asax 的引用


protected void Application_Start()

{

        GlobalConfiguration.Configure(WebApiConfig.Register);

        AreaRegistration.RegisterAllAreas();

        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);

        RouteConfig.RegisterRoutes(RouteTable.Routes);

        BundleConfig.RegisterBundles(BundleTable.Bundles);

        **MapModelEntity.RegisterMapping();**

}


在控制器中


var Result = _context.Vehicles.ToList();

var Mapped = Mapper.Map<VehicleDto>(Result);


查看完整回答
反對(duì) 回復(fù) 2021-11-14
  • 2 回答
  • 0 關(guān)注
  • 261 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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