Linq обновляет базу данных таблицы, используя модель с несколькими строками и столбцами - PullRequest
0 голосов
/ 22 марта 2020

Доброе утро, я sh обновлю таблицу, используя модель с несколькими строками и столбцами. В модели появились новые значения. Я обновлю sh без использования foreach. В таблице есть идентификатор столбца, такой как первичный ключ с идентификатором, поэтому я не могу удалить строки и заново вставить их. Кроме того, таблица имеет несколько динамических столбцов, что означает, что пользователь может добавлять пользовательские столбцы в таблицу. Как сейчас, я использую этот код, но я не хочу использовать foreach. Кто-то может мне помочь? С уважением

Модель:

    public partial class ITAN
{
    [Key]
    public int recid { get; set; }
    public int Famiglia { get; set; }
    [StringLength(30)]
    public string ItemCode { get; set; }
    [StringLength(30)]
    public string SapCode { get; set; }
    [StringLength(2)]
    public string Omologa { get; set; }
    [StringLength(2)]
    public string Stnd { get; set; }
    [StringLength(100)]
    public string Att_0001 { get; set; }
    [StringLength(100)]
    public string Att_0002 { get; set; }
    // and more other fields
    ...
}

Контроллер:

public ActionResult SaveITAN(List<ITAN> model)
    {
        if (ModelState.IsValid)
        {

                var query3 = (from d1 in db.ITAN.AsEnumerable()
                              join d2 in model.AsEnumerable() on d1.recid equals d2.recid
                              select new { d1, d2 }).ToList();
                foreach(var riga in query3)
                {
                    riga.d1.Famiglia = riga.d2.Famiglia;
                    riga.d1.ItemCode = riga.d2.ItemCode;
                    riga.d1.SapCode = riga.d2.SapCode;
                    riga.d1.Omologa = riga.d2.Omologa;
                    riga.d1.Stnd = riga.d2.Stnd;
                    riga.d1.Att_0001 = riga.d2.Att_0001;
                    riga.d1.Att_0002 = riga.d2.Att_0002;
        // ... and more other fields
                }
                db.SaveChanges();

                return new JsonResult() { Data = new { Success = true }, };
        }
        else
        {
    ....
        }

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...