#entity-framework #asp.net-mvc-4
Вопрос:
У меня есть динамическая таблица, в которой пользователь может добавлять количество строк и редактировать их соответственно после сохранения. Допустим, изначально в БД было сохранено 3 строки данных, которые отображались следующим образом. Теперь, если пользователь добавит новую строку и обновит любые данные в существующих строках. Я хотел бы вставить новую строку и обновить существующие данные
Я создал пользовательскую модель следующим образом
public class Person
{
public string Teacher { get; set; }
public string ClassName { get; set; }
public List<PersonDetail> PersonDetail { get; set; }
}
public class PersonDetail
{
public int PersonId { get; set; }
public string Name { get; set; }
public string Email { get; set; }
}
Вот мой класс EF, который был создан в edmx при добавлении базы данных
public partial class ClassInfo
{
public string Teacher { get; set; }
public string ClassName { get; set; }
public virtual ICollection<PersonDetail> PersonDetails { get; set; }
}
public class PersonDetail
{
public int PersonId { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public virtual ClassInfo ClassInfo { get; set; }
}
Я могу зацикливать и вставлять данные следующим образом
public ActionResult SavePerson(Person person)
{
using (var context = new DEVEntities())
{
List<EF.PersonDetail> PersonDetails = new List<EF.PersonDetail>();
foreach(var p in person.PersonDetail)
{
EF.PersonDetail pd = new EF.PersonDetail();
pd.Name = p.Name;
pd.Email = p.Email;
PersonDetails.Add(pd);
}
context.SaveChanges();
}
}
Есть ли возможность сделать эту работу без зацикливания данных?
Комментарии:
1. Почему важно устранить цикл? Я бы предпочел, чтобы это сработало первым. Вы составляете этот
PersonDetails
список, но нигде его не используете.