Sto cercando di creare solo la parte di back-end per un semplice progetto CRUD. Sono completamente nuovo per asp.net e attualmente sto leggendo. Ma sono rimasto bloccato.
Ho creato le entità (modelli) di cui ho bisogno
public class VehicleMakeEntity
{
public int Id { get; set; }
public string Name { get; set; }
public string Abrv { get; set; }
public VehicleMakeEntity Make { get; set; }
}
Ho anche creato una classe DbContext standard e i repository
class MakeRepository : IMakeRepository
{
ProjectDbContext context;
public MakeRepository(ProjectDbContext context)
{
this.context = context;
}
public void Delete(VehicleMakeEntity entity)
{
context.VehicleMake.Remove(entity);
context.SaveChanges();
Console.WriteLine(entity.Make.Name);
}
public void Insert(VehicleMakeEntity entity)
{
context.VehicleMake.Add(entity);
context.SaveChanges();
}
public void Update(VehicleMakeEntity entity)
{
context.VehicleMake.Update(entity);
context.SaveChanges();
}
public void Dispose()
{
context.Dispose();
}
}
Ora il problema che ho è non riesco a trovare alcuna documentazione che entrambi non usano MVC e utilizza repository. Devo creare una classe di servizio che implementa il paging, l'ordinamento e il filtro di base, ma tutto ciò che guardo. Mi piace usare MVC e non ho idea di come convertirlo nel mio progetto.
In base al tuo codice e ai tuoi commenti, hai una configurazione pensata per le web app .NET Core che possono essere implementate con i servizi (dipendenza da iniezione). Tuttavia, è possibile eseguire l'intera configurazione di iniezione delle dipendenze su un'app basata su console che non ospita un'app Web.
Innanzitutto, è necessario aggiungere il pacchetto Microsoft.AspNetCore.All
in modo da ottenere tutte le classi che si potrebbero utilizzare (principalmente Microsoft.Extensions.DependencyInjection
). Ora puoi creare il tuo fornitore di servizi in questo modo:
var provider = new ServiceCollection()
.AddDbContext<ProjectDbContext>(config => // connection here)
.AddScoped<IMakeRepository, MakeRepository>()
.BuildServiceProvider();
Ora puoi recuperare qualsiasi servizio che desideri dal tuo provider. Il codice precedente consente inoltre di aggiungere qualsiasi servizio trovato in qualsiasi esercitazione .NET Core MVC poiché utilizza le stesse classi e librerie. Diciamo che vuoi recuperare il IMakeRepository
, puoi usare quanto segue:
var makeRepo = provider.GetService<IMakeRepository>();
Ora puoi testare le funzioni all'interno dell'oggetto makeRepo
.