Connessione a database in Asp.NET Core MVC e C#
Come leggere i file di configurazione, e quindi anche la stringa di connessione, in Asp.NET Core lo abbiamo già visto in questo articolo.
Oggi proseguiamo con la lettura dei records, e la loro visualizzazione nella View.
Cominciamo con il creare il model che rappresenta i records della tabella; dentro alla cartella Model:
namespace CSharpNetCoreWeb.Models
{
public class RichiestaModel
{
public int RicId { get; set; }
public string RicTitolo { get; set; }
}
}
Adesso nel nostro Controller eseguiamo la query e riempiamo il Model:
using System;
using System.Diagnostics;
using Microsoft.AspNetCore.Mvc;
using CSharpNetCoreWeb.Models;
using Microsoft.Extensions.Configuration;
using System.Data.SqlClient;
using System.Collections.Generic;
namespace CSharpNetCoreWeb.Controllers
{
public class HomeController : Controller
{
private IConfiguration configuration { get; }
public HomeController(IConfiguration configuration)
{
this.configuration = configuration;
}
public IActionResult Index()
{
string connectionString = configuration.GetConnectionString("ZaraConn");
var list = new List<RichiestaModel>();
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string sql = "SELECT * FROM Richieste";
SqlCommand command = new SqlCommand(sql, connection);
using (SqlDataReader dataReader = command.ExecuteReader())
{
while (dataReader.Read())
{
RichiestaModel rm = new RichiestaModel();
rm.RicId = Convert.ToInt32(dataReader["RicId"]);
rm.RicTitolo = dataReader["RicTitolo"].ToString();
list.Add(rm);
}
}
connection.Close();
}
return View(list);
}
}
}
Come vedete ho usato SqlDataReader, quindi nulla di nuovo.
Infine nella nostra View:
@{
ViewData["Title"] = "Home Page";
}
<table class="table">
@foreach (var ric in Model)
{
<tr>
<td>@ric.RicId</td>
<td>@ric.RicTitolo</td>
</tr>
}
</table>
Enjoy!
c# aspnet core mvc sqldatareader
Commentami!