0
映射字段時有什麼辦法可以將參數傳遞給automapper嗎?Automapper - 映射字段並使用會話變量進行計算。怎麼樣?
我有一個名爲模型屬性:
public double Meters {get; set;}
我用automapper那些米轉換成取決於基於用戶的喜好生成會話變量千米或英里;
Session["Factor"] = Units.KM;
的問題是,當我使用automapper我可以做這個手術
Mapper.CreateMap<Distance, DistanceViewModel>()
.ForMember(a => a.Distance, exp => exp.ResolveUsing(p => p.Meters * (double)Session["Factor"]))
因爲我不能訪問從Automapper輔助文件Session對象在我的MVC項目。
有人遇到過這個問題嗎?什麼是實現這一目標的最佳方式?
謝謝先進。
編輯:我試過在答案的方法,但是是空的。
public class EffortInPaceProfile : Profile
{
protected override void Configure()
{
var factor = (double)HttpContext.Current.Session["DistanceFactor"];
Mapper.CreateMap<Model, ViewModel>()
.ForMember(e => e.TotalMeters, exp => exp.ResolveUsing(p => p.TotalMeters * factor));
}
}
Line 210: var factor = (double)HttpContext.Current.Session["DistanceFactor"]; //NULL
Ufuk感謝您的回答我嘗試了您的方法,但會話爲空。檢查編輯,以便您可以看到它...是我做錯了什麼?我分配的值global.asax Session_Start – MRFerocius 2014-08-28 00:43:57
我認爲我的問題是,我有一個類來創建映射配置文件...並且在global.asax會話開始之前執行,因爲創建配置文件的調用是在Application Start 。 – MRFerocius 2014-08-28 00:48:05