Я пытаюсь использовать MVC с контроллером для просмотра модели и базы данных.Но я полагаю, что я не знаю, как использовать сущностную структуру в моем случае для соединения модели и базы данных.Поэтому я получаю эту ошибку времени выполнения: « InvalidOperationException: невозможно разрешить службу для типа« WebCoreFly.Models.FlightsList »при попытке активировать« WebCoreFly.Controllers.HomeController »
Мой код состоит в: код контроллера:
public class HomeController : Controller
{
private FlightsList l;
public HomeController(FlightsList theList)
{ l = theList; }
public ViewResult Index()
{
return View(l.Flights);
}
}
код модели для рейсов:
public partial class Flights
{
public long ID { get; set; }
public long Id_Destination { get; set; }
public string Id_Source { get; set; }
public string Nome { get; set; }
public string Company { get; set; }
public System.DateTime Time { get; set; }
public string Id_Plane { get; set; }
public Nullable<System.DateTime> TimeOfArrival { get; set; }
}
и модель для TicketsList:
public class FlightsList
{
private FlyDBContext context;
public FlightsList(FlyDBContext ctx)
{
context = ctx;
}
public IQueryable<Flights> Flights => context.Flights;
}
наконец, я определил свой dbcontext:
public class FlyDBContext : DbContext
{
public FlyDBContext(DbContextOptions<FlyDBContext> options)
: base(options)
{
}
public DbSet<WebCoreFly.Models.Passengers> Passengers { get; set; }
public DbSet<WebCoreFly.Models.Bookings> Bookings { get; set; }
public DbSet<WebCoreFly.Models.Flights> Flights { get; set; }
}
И в моем коде запуска я настраиваю службы для принятия моего dbcontext со ссылкой на Существующую базу данных SQL с именем Fly:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddDbContext<FlyDBContext>(options =>
options.UseSqlServer(@"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=Fly;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"));
}
И этоЭто метод настройки запуска:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseBrowserLink();
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
Мой вопрос: кто отвечает за передачу моему контроллеру списка рейсов?и так как список полетов привязан к dbcontext, проблема как-то связана с тем фактом, что я не использовал объектную структуру?(Для простоты я не выложил код для моего просмотра, но я могу сделать это при необходимости)