SORU
5 ŞUBAT 2010, Cuma


Nasıl göster Model SONRASI bir eylem Etki alanı Modeli arkadan Görünüm için?

Her madde ViewModels ve kullanan Automapper kullanarak Internet üzerinde bulunan " - ^ Denetleyicisi . kuralları verir Görünüm" yön haritalama. Etki alanı modeli Seçin Listeleri ile birlikte bir özel ViewModel içine alıp görünümüne geçirir. Net ve güzel.
Görünümünde bir form var, ve sonunda POST eylem. Burada tüm Model Bağlayıcılar ile birlikte olay yerine gelir[belli] bir başkaHangi görünüm Modeli[açıkçası] ile ilgilien azından bağlama ve doğrulama uğruna adlandırma parçası orijinal ViewModel için.

Nasıl bir Etki alanı Modeli için harita musunuz?

Takın bir eylem olsun, aynı Automapper kullanabiliriz. Ama eğer güncelleme bir eylem olsaydı? Deposundan Etki bizim Varlık almak için, ViewModel değerlere göre bu özellikleri güncelleme ve Depoyu kurtarmak zorundayız.

EK 1 (Şubat 2010 9:Bazen, Modelin özellikleri atamak yeterli değil. Görünümü Model değerlerine göre Etki alanı Modeli karşı bazı önlemler alınması gerekir. I. e., bazı yöntemler Etki alanı Modeli çağrılmalıdır. Muhtemelen, Görünüm Modelleri işlemek için Denetleyicisini ve Etki alanı arasında duran bir Uygulama Hizmeti katmanı bir tür olmalıdır


Bu kodu nasıl organize ve aşağıdaki hedeflere ulaşmak için yer nerede?

  • denetleyicileri ince tutmak
  • SoC uygulama hakim
  • Etki alanı Odaklı Tasarım ilkeleri izleyin
  • KURU olması
  • devam edecek ...

CEVAP
5 Mayıs 2010, ÇARŞAMBA


İBuilder bir arabirim kullanıyorum ve ValueInjecter kullanarak uygulamak

public interface IBuilder<TEntity, TViewModel>
{
      TEntity BuildEntity(TViewModel viewModel);
      TViewModel BuildViewModel(TEntity entity);
      TViewModel RebuildViewModel(TViewMOdel viewModel); 
}

... (uygulama) RebuildViewModel sadece BuildViewModel(BuilEntity(viewModel)) der

[HttpPost]
public ActionResult Update(ViewModel model)
{
   if(!ModelState.IsValid)
    {
       return View(builder.RebuildViewModel(model);
    }

   service.SaveOrUpdate(builder.BuildEntity(model));
   return RedirectToAction("Index");
}

çok kısa Giriş kuzen yazıyorum ViewModel yazmıyorum, ama gerçekten önemli değil bu arada

Güncelleme: ProDinner ASP.net MVC Demo Appşimdi bu yaklaşımı kullanıyorum İMapper artık ismi, aynı zamanda bir pdf bu yaklaşım ayrıntılı olarak açıklanmıştır nereden temin var

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DONFANTASTICKYPESS

    DONFANTASTIC

    1 Temmuz 2007
  • MW Technology

    MW Technolog

    28 EKİM 2009
  • Theodore Leaf

    Theodore Lea

    29 AĞUSTOS 2006