Connessione a database in Asp.NET Core MVC e C#

Mattepuffo's logo
Connessione a database in Asp.NET Core MVC e C#

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!


Condividi

Commentami!