简体   繁体   中英

Transferring incoming data to the model in Automapper

I want to do something like this at Automapper.

I want to transfer the list from the database to the following model.

public class GetListModel
{
    public int RowNumber { get; set; } = 0;
    public object Records { get; set; }
}

Namely; Data from the database

Name, Surname, Phone, Email, RowNumber

I want to take the Row Number from this list and write it to "RowNumber" in "GetListModel".

And. I want to write the other data to "Records" as a list.

Consequently it should look like this.

GetListModel{
            int RowNumber = 20,
            object Records = List<User> [
                                            {Name=Ali1,Surname=Kara,Email=mail@mail.mail,Phone=05553333333},
                                            {Name=Ali2,Surname=Kara,Email=mail@mail.mail,Phone=05553333333},
                                            {Name=Ali3,Surname=Kara,Email=mail@mail.mail,Phone=05553333333},
                                            {Name=Ali4,Surname=Kara,Email=mail@mail.mail,Phone=05553333333},
                                            {Name=Ali5,Surname=Kara,Email=mail@mail.mail,Phone=05553333333},
                                            {Name=Ali6,Surname=Kara,Email=mail@mail.mail,Phone=05553333333}
                                            ...
                                        ]
                                        }

Please help me.

Normally I do this to transfer the list directly to the model.

return new MapperConfiguration(cfg => { cfg.CreateMap<sp_Panel_Get_Orders_Result, OrderModels.For.Panel.ListModel.Order>(); })
.CreateMapper().Map<List<sp_Panel_Get_Orders_Result>, List<OrderModels.For.Panel.ListModel.Order>>(Get);

@Gleb

I guess couldn't. We disagree.

I need to get the total value from the first record.

Records.Count() is not.

It should be Records.FirsOrDefault().RowNumber .

Sampling;

There are a total of 26 records in the database.

I filter and paging.

Incoming record 8 pieces.

The total number of pages is displayed in the incoming records. (RowNumber)

Incoming data model in this way;

sp_Panel_Get_Products_Result: [
        { RowNumber: 26, ID: 9, Name: "Ali1", Surname: "Kara", Email: "a@a.a",  Phone: "05553" },
        { RowNumber: 26, ID: 10, Name: "Ali2", Surname: "Kara", Email: "a@a.a",  Phone: "05553" },
        { RowNumber: 26, ID: 11, Name: "Ali3", Surname: "Kara", Email: "a@a.a",  Phone: "05553" },
        { RowNumber: 26, ID: 12, Name: "Ali4", Surname: "Kara", Email: "a@a.a",  Phone: "05553" },
        { RowNumber: 26, ID: 13, Name: "Ali5", Surname: "Kara", Email: "a@a.a",  Phone: "05553" },
        { RowNumber: 26, ID: 14, Name: "Ali6", Surname: "Kara", Email: "a@a.a",  Phone: "05553" },
        { RowNumber: 26, ID: 15, Name: "Ali7", Surname: "Kara", Email: "a@a.a",  Phone: "05553" },
        { RowNumber: 26, ID: 16, Name: "Ali8", Surname: "Kara", Email: "a@a.a",  Phone: "05553" }
]

I want to map it this way;

    GetModels: {
      ListModel: {
        RowNumber_int: 26,
        IEnumerable_T: [
          { ID: 9, Name: "Ali1", Surname: "Kara", Email: "a@a.a",  Phone: "05553" },
          { ID: 10, Name: "Ali2", Surname: "Kara", Email: "a@a.a",  Phone: "05553" },
          { ID: 11, Name: "Ali3", Surname: "Kara", Email: "a@a.a",  Phone: "05553" },
          { ID: 12, Name: "Ali4", Surname: "Kara", Email: "a@a.a",  Phone: "05553" },
          { ID: 13, Name: "Ali5", Surname: "Kara", Email: "a@a.a",  Phone: "05553" },
          { ID: 14, Name: "Ali6", Surname: "Kara", Email: "a@a.a",  Phone: "05553" },
          { ID: 15, Name: "Ali7", Surname: "Kara", Email: "a@a.a",  Phone: "05553" },
          { ID: 16, Name: "Ali8", Surname: "Kara", Email: "a@a.a",  Phone: "05553" }
        ]
      }
    }

I want to take the RowNumber value from the first record and print it to the RowNumber property.

And.

I want to map the records to IEnumerable .

:)

(Sorry, I'm using google translate for English.)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM