Итак, у меня есть простое веб-приложение, которое берет данные из API, десериализует их, вставляет в базу данных и затем отображает в виде таблицы.
Я не знаю, как отделить десериализацию и вставку от моего метода Index (), поэтому каждый раз, когда я обновляю страницу, она десериализуется и снова вставляет данные.
Контроллер:
public class HomeController : Controller
{
private DBContext db = new DBContext();
public string data = "...."; //here is the json data that i get from API
public ActionResult Index()
{
RootObj myData = JsonConvert.DeserializeObject<RootObj>(data);
foreach (var item in myData)
{
MyModel myItem = new MyModel
{
name = item.name,
symbol = item.symbol,
price = item.price,
};
db.MyItemsDB.Add(myItem);
db.SaveChanges();
}
return View(db.MyItemDB.ToList());
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}
}
Как я могу отделить десериализацию и вставку от метода Index ()?
Спасибо за помощь!