0
我正在開發一個ASP.Net MVC 3 Web應用程序使用實體框架4.1和Automapper將屬性從我的對象映射到ViewModels,反之亦然。ASP.Net MVC 3 AutoMapper
我已經叫下面的類移
public partial class Shift
{
public Shift()
{
this.Locations = new HashSet<ShiftLocation>();
}
public int shiftID { get; set; }
public string shiftTitle { get; set; }
public System.DateTime startDate { get; set; }
public System.DateTime endDate { get; set; }
public string shiftDetails { get; set; }
public virtual ICollection<ShiftLocation> Locations { get; set; }
}
而一個視圖模型稱爲ViewModelShift
public class ViewModelShift
{
public int shiftID { get; set; }
[DisplayName("Shift Title")]
[Required(ErrorMessage = "Please enter a Shift Title")]
public string shiftTitle { get; set; }
[DisplayName("Start Date")]
[Required(ErrorMessage = "Please select a Shift Start Date")]
public DateTime startDate { get; set; }
[DisplayName("End Date")]
[Required(ErrorMessage = "Please select a Shift End Date")]
public DateTime endDate { get; set; }
[DisplayName("Shift Details")]
[Required(ErrorMessage = "Please enter detail about the Shift")]
public string shiftDetails { get; set; }
[DisplayName("Shift location")]
[Required(ErrorMessage = "Please select a Shift Location")]
public int locationID { get; set; }
public SelectList LocationList { get; set; }
}
然後我有下面的代碼在一個控制器
[HttpPost]
public ActionResult EditShift(ViewModelShift model)
{
if (ModelState.IsValid)
{
Shift shift = _shiftService.GetShiftByID(model.shiftID);
shift = Mapper.Map<ViewModelShift, Shift>(model);
}
}
,工作正常,當變量'shift'首先被移位細節填充時,懶加載也是loa ds「地點」的相關集合。
但是,一旦映射發生,shift.Locations就等於0.有沒有辦法設置AutoMapper,它只是將ViewModel類中的屬性映射到輪班而不移除位置集合?
非常感謝大家。
感謝。 – tgriffiths 2012-04-05 14:15:25