Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengecualikan Sifat daripada Pemetaan Automapper Apabila Sifat Destinasi Tidak Wujud?

Bagaimana untuk Mengecualikan Sifat daripada Pemetaan Automapper Apabila Sifat Destinasi Tidak Wujud?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-27 14:46:09834semak imbas

How to Exclude Properties from Automapper Mapping When Destination Properties Don't Exist?

Mengecualikan Sifat daripada Pemetaan Automapper

Apabila menggunakan Automapper untuk pemetaan objek-ke-objek, adalah penting untuk mengecualikan sifat yang tidak wujud dalam model destinasi. Dalam senario anda, sifat 'ProductName' dalam OrderModel tidak wujud dalam entiti pangkalan data Pesanan. Pemetaan sifat ini akan menghasilkan pengecualian.

Penyelesaian: Menggunakan Ignore()

Untuk mengendalikan situasi ini, kaedah Automapper's Ignore() membenarkan anda untuk menentukan sifat tertentu yang tidak harus dipetakan. Begini cara anda boleh menggunakannya:

Mapper.CreateMap<OrderModel, Orders>()
        .ForMember(x => x.ProductName, opt => opt.Ignore());

Dengan menambahkan ungkapan ForMember() dengan Ignore(), anda mengarahkan Automapper untuk mengabaikan sifat 'ProductName' semasa proses pemetaan. Ini akan membolehkan operasi pemetaan diteruskan tanpa mencetuskan pengecualian.

Pilihan Lain

Automapper juga menyediakan kaedah alternatif untuk mengecualikan sifat daripada pemetaan:

  • Unjuran pada Destinasi: Pendekatan ini melibatkan mencipta pemetaan tersuai untuk model destinasi dan menyatakan secara eksplisit sifat untuk disertakan.
  • Padanan Separa: Secara lalai, Automapper menggunakan padanan sifat tepat. Anda boleh melumpuhkan kelakuan ini dan membenarkan pemadanan separa, hanya memetakan sifat yang wujud dalam kedua-dua model sumber dan destinasi.

Ingat, apabila mengecualikan sifat daripada pemetaan Automapper, pastikan kod anda mengendalikan ketiadaannya sifat dalam model destinasi.

Atas ialah kandungan terperinci Bagaimana untuk Mengecualikan Sifat daripada Pemetaan Automapper Apabila Sifat Destinasi Tidak Wujud?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn