Başlık, hemen hemen her şeyi açıklıyor, projemde çalışmaya çalıştığım son şey. Böyle bir işlevi içeren bir Hizmet Kitaplığı ile yapılandırılmıştır.ASP.Net MVC Varlıklardan ViewModels'e nerede dönüşüm gerçekleştiriyorsunuz?
/// <summary>
/// Returns a single category based on the specified ID.
/// </summary>
public Category GetCategory(int CategoryID)
{
var RetVal = _session.Single<Category>(x => x.ID == CategoryID);
return RetVal;
}
Şimdi Kategori biz CategoryViewModel bu dönüştürmek gerekir (Biz Entity Framework kullanan) bir varlık olduğunu.
İnsanlar bunu nasıl yapılandıracak? Hizmet işlevinin bir CategoryViewModel döndürdüğünden emin misiniz? Denetleyicinin verileri servisten almasını sağlayın ve sonra bir görünüm modeline uydurmak için başka bir işlev çağırın. İlgili görünümü kuvvetle IEnumerable<UserViewModel>
için yazılan bu durumda
[AutoMap(typeof(IEnumerable<User>), typeof(IEnumerable<UserViewModel>))]
public ActionResult Index()
{
// return all users
IEnumerable<User> users = Repository.GetUsers();
return View(users);
}
:
Bunun için çok zarif bir çözüm +1! Yansımanın kullanımından dolayı AutoMapper'a karşı ihtiyatlıyım. Sitenin saniyede 3 istek alması durumunda AutoMapper endişelenecek bir şey midir? – LiamB
Jimmy Bogard, performansı iyileştiren bazı harika optimizasyonlar yaptı. Bir blog yazısı yazdı: http://www.lostechies.com/blogs/jimmy_bogard/archive/2009/08/04/analyzing-automapper-performance.aspx (şu anda blogunu açarken bir sorun var, bu yüzden önbelleğe alınmış sürüm: http://webcache.googleusercontent.com/search?q=cache:y1UTqDky3wcJ:www.lostechies.com/blogs/jimmy_bogard/archive/2009/08/04/analyzing-automapper-performance.aspx+automapper+reflection + performance & cd = 1 & hl = tr & ct = clnk) Ben şahsen AutoMapper'ı üretimde çok kullanıyorum ve onunla hiçbir performans sorunu yaşamadım. –
Teşekkürler :) - Örneğinizde "IModelMapperController" ve "controller.ModelMapper" nereden geliyor? – LiamB