Я новичок в использовании ViewModels, у меня есть новый список здесь, и я добавляю к нему элементы, зацикливая по таблице базы данных. Проблема в том, что все возвращаемые записи идентичны с использованием одной и той же записи снова и снова. Что может быть проблемой, и это хороший способ выполнить заполнение данными и передачу ViewModel или есть лучший способ? Сейчас он возвращает около 500 записей с теми же данными.ViewModel возвращает те же значения для всех 500 + записей в представлении
public class DimCustomersController : Controller
{
private AdventureWorks_MBDEV_DW2008Entities db = new AdventureWorks_MBDEV_DW2008Entities();
public ActionResult CustomersIndexVM()
{
List<DimCustomersIndexViewModel> CustomerList = new List<DimCustomersIndexViewModel>();
DimCustomersIndexViewModel CustomerItem = new DimCustomersIndexViewModel();
foreach (var m in db.DimCustomers.ToList())// cold do for loop up to count
{
CustomerItem.Title = m.Title;
CustomerItem.FirstName = m.FirstName;
CustomerItem.MiddleName = m.MiddleName;
CustomerItem.LastName = m.LastName;
CustomerItem.BirthDate = m.BirthDate;
CustomerItem.MaritalStatus = m.MaritalStatus;
CustomerItem.Suffix = m.Suffix;
CustomerItem.Gender = m.Gender;
CustomerItem.EmailAddress = m.EmailAddress;
CustomerItem.AddressLine1 = m.AddressLine1;
CustomerItem.AddressLine2 = m.AddressLine2;
CustomerItem.Phone = m.Phone;
//other columns go here
CustomerList.Add(CustomerItem);
}
return View("CustomersIndexVM", CustomerList);
}
Помимо инициализации модели представления внутри цикла в соответствии с ответами, вы также можете просто использовать 'var CustomerList = db.DimCustomers.Select (x => новый DimCustomersIndexViewModel {Title = x.Title, FirstName = x.FirstName, ......} .ToList(); ' –