Automapper Guid.Empty Mapping Engelleme
-
Merhaba arkadaşlar,
Automapper kullanıyorum. Servise gelen request de bazı alanlar boş gönderiliyor. Ben bu datayı Automapper ile maplerken gidiyor Guid alanları Guid empty olarak atıyor.
Ama ben Guid.empty ise birşey yapsın istemiyorum. Bunu nasıl engelleyebilirim? Aşağıdaki gibi null alanları alma diyorum ancak Guid null olarak değilde Guid.empty olarak algılıyor ve mapliyor.
Örneğin:
UpdateModel:
public class ShoppingCartItemDto : IEntityDto { public Guid Id { get; set; } public Guid CustomerId { get; set; } public Guid AccountId { get; set; } public Guid ProductId { get; set; } public int Quantity { get; set; } }
Bu modelde FE'ci arkadaş sadece kendi tarafında update olan alanları modelleyip servise yolluyor. Diyelimki sadece Quantity değişti. O zaman Modeldeki geri kalan tüm Guid alanlar guid empty olarak geliyor. Ben bunu update yolladığımda da Automapper bu alanları empty basıp geçiyor. Alanları nullable yapsamda automapper bu alanarı maplerken guid empty olarka mapliyor. -
Absolut bunu yazdı
Merhaba arkadaşlar,
Automapper kullanıyorum. Servise gelen request de bazı alanlar boş gönderiliyor. Ben bu datayı Automapper ile maplerken gidiyor Guid alanları Guid empty olarak atıyor.
Ama ben Guid.empty ise birşey yapsın istemiyorum. Bunu nasıl engelleyebilirim? Aşağıdaki gibi null alanları alma diyorum ancak Guid null olarak değilde Guid.empty olarak algılıyor ve mapliyor.
Örneğin:
UpdateModel:
public class ShoppingCartItemDto : IEntityDto { public Guid Id { get; set; } public Guid CustomerId { get; set; } public Guid AccountId { get; set; } public Guid ProductId { get; set; } public int Quantity { get; set; } }
Bu modelde FE'ci arkadaş sadece kendi tarafında update olan alanları modelleyip servise yolluyor. Diyelimki sadece Quantity değişti. O zaman Modeldeki geri kalan tüm Guid alanlar guid empty olarak geliyor. Ben bunu update yolladığımda da Automapper bu alanları empty basıp geçiyor. Alanları nullable yapsamda automapper bu alanarı maplerken guid empty olarka mapliyor.Şu bold yaptığım yer had safhada saçmalık. Sadece quantity geliyor ve neyin quantity si olduğu meçhul mü yani hocam?
-
Yazilimci bunu yazdıAbsolut bunu yazdı
Merhaba arkadaşlar,
Automapper kullanıyorum. Servise gelen request de bazı alanlar boş gönderiliyor. Ben bu datayı Automapper ile maplerken gidiyor Guid alanları Guid empty olarak atıyor.
Ama ben Guid.empty ise birşey yapsın istemiyorum. Bunu nasıl engelleyebilirim? Aşağıdaki gibi null alanları alma diyorum ancak Guid null olarak değilde Guid.empty olarak algılıyor ve mapliyor.
Örneğin:
UpdateModel:
public class ShoppingCartItemDto : IEntityDto { public Guid Id { get; set; } public Guid CustomerId { get; set; } public Guid AccountId { get; set; } public Guid ProductId { get; set; } public int Quantity { get; set; } }
Bu modelde FE'ci arkadaş sadece kendi tarafında update olan alanları modelleyip servise yolluyor. Diyelimki sadece Quantity değişti. O zaman Modeldeki geri kalan tüm Guid alanlar guid empty olarak geliyor. Ben bunu update yolladığımda da Automapper bu alanları empty basıp geçiyor. Alanları nullable yapsamda automapper bu alanarı maplerken guid empty olarka mapliyor.Şu bold yaptığım yer had safhada saçmalık. Sadece quantity geliyor ve neyin quantity si olduğu meçhul mü yani hocam?
bence onu örnek olarak söyledi, quantity ve productid dolu diğer ikisi boşken o guidler için örneklemeye çalıştı sanırsam galiba.
-
MaviGozluDev bunu yazdıYazilimci bunu yazdıAbsolut bunu yazdı
Merhaba arkadaşlar,
Automapper kullanıyorum. Servise gelen request de bazı alanlar boş gönderiliyor. Ben bu datayı Automapper ile maplerken gidiyor Guid alanları Guid empty olarak atıyor.
Ama ben Guid.empty ise birşey yapsın istemiyorum. Bunu nasıl engelleyebilirim? Aşağıdaki gibi null alanları alma diyorum ancak Guid null olarak değilde Guid.empty olarak algılıyor ve mapliyor.
Örneğin:
UpdateModel:
public class ShoppingCartItemDto : IEntityDto { public Guid Id { get; set; } public Guid CustomerId { get; set; } public Guid AccountId { get; set; } public Guid ProductId { get; set; } public int Quantity { get; set; } }
Bu modelde FE'ci arkadaş sadece kendi tarafında update olan alanları modelleyip servise yolluyor. Diyelimki sadece Quantity değişti. O zaman Modeldeki geri kalan tüm Guid alanlar guid empty olarak geliyor. Ben bunu update yolladığımda da Automapper bu alanları empty basıp geçiyor. Alanları nullable yapsamda automapper bu alanarı maplerken guid empty olarka mapliyor.Şu bold yaptığım yer had safhada saçmalık. Sadece quantity geliyor ve neyin quantity si olduğu meçhul mü yani hocam?
bence onu örnek olarak söyledi, quantity ve productid dolu diğer ikisi boşken o guidler için örneklemeye çalıştı sanırsam galiba.
Aynen örneği yalnış vermişim. @MaviGozluDev düzeltme için teşekkürler.
-
Absolut bunu yazdıMaviGozluDev bunu yazdıYazilimci bunu yazdıAbsolut bunu yazdı
Merhaba arkadaşlar,
Automapper kullanıyorum. Servise gelen request de bazı alanlar boş gönderiliyor. Ben bu datayı Automapper ile maplerken gidiyor Guid alanları Guid empty olarak atıyor.
Ama ben Guid.empty ise birşey yapsın istemiyorum. Bunu nasıl engelleyebilirim? Aşağıdaki gibi null alanları alma diyorum ancak Guid null olarak değilde Guid.empty olarak algılıyor ve mapliyor.
Örneğin:
UpdateModel:
public class ShoppingCartItemDto : IEntityDto { public Guid Id { get; set; } public Guid CustomerId { get; set; } public Guid AccountId { get; set; } public Guid ProductId { get; set; } public int Quantity { get; set; } }
Bu modelde FE'ci arkadaş sadece kendi tarafında update olan alanları modelleyip servise yolluyor. Diyelimki sadece Quantity değişti. O zaman Modeldeki geri kalan tüm Guid alanlar guid empty olarak geliyor. Ben bunu update yolladığımda da Automapper bu alanları empty basıp geçiyor. Alanları nullable yapsamda automapper bu alanarı maplerken guid empty olarka mapliyor.Şu bold yaptığım yer had safhada saçmalık. Sadece quantity geliyor ve neyin quantity si olduğu meçhul mü yani hocam?
bence onu örnek olarak söyledi, quantity ve productid dolu diğer ikisi boşken o guidler için örneklemeye çalıştı sanırsam galiba.
Aynen örneği yalnış vermişim. @MaviGozluDev düzeltme için teşekkürler.
Kardeş öyle bile olsa önce db den FE den update için gönderilen nesneyi önce ID sinden kontrol etmen gerekir. Önce datayı select ile db den al. Eksik verileri ondaki ile doldur sonra automappera gönder.
Sen şu anda FE den gelen dto nesneyi olduğu gibi entity ye çevirip entity olarak update etmek istiyosun ama diyosun ki sadece hangi propertyler dolu olarak geldiyse onları update etsin. Önce veriyi tüm nesne olarak mı yoksa sadece belli propertylerine göre mi update edecen onun kararını vermen lazım.
Tüm nesne olarak update edeceksen ilk söylediğim gibi eksik verileri doldur. Öyle mappera gönder. Yoksa automapper nerden bilecek db deki verinin ne olduğunu yada değişip değişmediğini. Onunla çevirirsen entityye bu şekilde çalışması normal. Sorun automapperda değil.
-
burakayser bunu yazdıAbsolut bunu yazdıMaviGozluDev bunu yazdıYazilimci bunu yazdıAbsolut bunu yazdı
Kardeş öyle bile olsa önce db den FE den update için gönderilen nesneyi önce ID sinden kontrol etmen gerekir. Önce datayı select ile db den al. Eksik verileri ondaki ile doldur sonra automappera gönder.
Sen şu anda FE den gelen dto nesneyi olduğu gibi entity ye çevirip entity olarak update etmek istiyosun ama diyosun ki sadece hangi propertyler dolu olarak geldiyse onları update etsin. Önce veriyi tüm nesne olarak mı yoksa sadece belli propertylerine göre mi update edecen onun kararını vermen lazım.
Tüm nesne olarak update edeceksen ilk söylediğim gibi eksik verileri doldur. Öyle mappera gönder. Yoksa automapper nerden bilecek db deki verinin ne olduğunu yada değişip değişmediğini. Onunla çevirirsen entityye bu şekilde çalışması normal. Sorun automapperda değil.
Hocam DB den gelen veriyi map'e yolluyorum. FE'e den gelen Modeli DB den gelen dataya mapliyorum. DB den data dolu geliyor. Ama FE modelden gelen data Guid.Empty olduğundan db den gelen datanın x alanını modelde ki x alan ile mapliyor. X alanda Guid.empty olduğundan güncel datayıda boşaltmış oluyor.
-
Absolut bunu yazdıburakayser bunu yazdıAbsolut bunu yazdıMaviGozluDev bunu yazdıYazilimci bunu yazdıAbsolut bunu yazdı
Kardeş öyle bile olsa önce db den FE den update için gönderilen nesneyi önce ID sinden kontrol etmen gerekir. Önce datayı select ile db den al. Eksik verileri ondaki ile doldur sonra automappera gönder.
Sen şu anda FE den gelen dto nesneyi olduğu gibi entity ye çevirip entity olarak update etmek istiyosun ama diyosun ki sadece hangi propertyler dolu olarak geldiyse onları update etsin. Önce veriyi tüm nesne olarak mı yoksa sadece belli propertylerine göre mi update edecen onun kararını vermen lazım.
Tüm nesne olarak update edeceksen ilk söylediğim gibi eksik verileri doldur. Öyle mappera gönder. Yoksa automapper nerden bilecek db deki verinin ne olduğunu yada değişip değişmediğini. Onunla çevirirsen entityye bu şekilde çalışması normal. Sorun automapperda değil.
Hocam DB den gelen veriyi map'e yolluyorum. FE'e den gelen Modeli DB den gelen dataya mapliyorum. DB den data dolu geliyor. Ama FE modelden gelen data Guid.Empty olduğundan db den gelen datanın x alanını modelde ki x alan ile mapliyor. X alanda Guid.empty olduğundan güncel datayıda boşaltmış oluyor.
Hmm anladım. Custom Profile yazsan. Orda da guid empty kontrolü yapsan olmuyo mu?