JimB_ Ответов: 2

C# как сохранить значения из массива в базе данных


Уважаемое сообщество C#

Я хочу сохранить значения из массива, я получил значения из каждой строки таблицы на моей странице просмотра с помощью Ajax, я передаю массив в AddSteps в домашнем контроллере

пример передаваемых значений для массива[] passRows = [["1","Kim","5"],["2","Том","7"]]


[HttpPost]

public JsonResult AddSteps(Array[] passRows, int processStepId)
{
  
 return Json( JsonRequestBehavior.AllowGet);
}


Что я уже пробовал:

Я хочу сохранить каждое значение для каждого индекса 0 = 1,Kim,5 и 1= 2,Tom,7 в моей таблице в базе данных


database class TableA
{
int Id;
int UserId
string Name;
int Level;
}

[HttpPost]

public JsonResult AddSteps(Array[] passRows, int processStepId)
{
   foreach (var item in passRows)
    { 
       foreach (var itemtime in item)
         {
           Debug.Write(itemIndex.ToString());
           //what I know is that it writes each index value for each parent index
           // I want to save it like:

          tableA data = new tableA{
              UserId = itemIndex[0],
             Name = itemIndex[1],
             Level= itemIndex[2]
      }

       db.tableA.add(data);
       db.SaveChanges();
      //I dont know how to create the loop to do it 
     //please some help
    }
  }
 return Json( JsonRequestBehavior.AllowGet);
}


Спасибо :)

2 Ответов

Рейтинг:
9

JimB_

всем привет
Спасибо я решил с помощью

public void AddSteps(Array passRows, int processStepId)
{
    foreach(string[] indexN in passRows){
//setting string[] indexN  in passRows allows to identify the index position of 
// the array. As, it is received by type Array it helps making a reading of the
// content (Array passRows) with a type string[]

     var index  = indexN[0]//and soo on with other indexN values

       tableA data = new tableA{
        Name= indexN[1]  
      }
           db.tableA.Add(data);
           db.SaveChanges();
   }
}


:)


BillWoodruff

@JimB_ то, что вы делаете, очень странно: вы действительно хотите создать новую таблицу и добавить ее в базу данных для каждой группы данных?. имхо, вам нужно добавить строки в таблицу, которая уже есть в базе данных.

Рейтинг:
0

BillWoodruff

Предполагая, что у вас есть такие данные строк:

string[,] rowdata = new[,] 
{
    {"1", "Kim", "5"}, {"2", "Tom", "7"}
};
Вы можете добавлять новые строки следующим образом:
public void AddSteps(string[,] passRows, int processStepId)
{
    for (int i = 0; i < passRows.GetLength(0); i++)
    {
        tableA.Rows.Add(passRows[i, 0], passRows[i, 1], passRows[i, 2]);
    }
}