Aktywne Wpisy
![czechu92](https://wykop.pl/cdn/c3397992/czechu92_hT61hFrRUS,q60.jpg)
czechu92 +15
Moja pierwsza nocka z wykopem. Wiem tylko że mam nie tagować. Co wy tu zwykle robicie na nocnej?
![diler_biedy](https://wykop.pl/cdn/c3397992/diler_biedy_hhf4Z1ORgL,q60.jpg)
diler_biedy +17
#pokazauto #samochody #basemodelsonly
Chłop wydał ostatnie pieniądze, i cieszy się pierwszym nowym autem,
Coś wspaniałego dla kogoś kto całe życie jeździł gruzami (。◕‿‿◕。)
Chłop wydał ostatnie pieniądze, i cieszy się pierwszym nowym autem,
Coś wspaniałego dla kogoś kto całe życie jeździł gruzami (。◕‿‿◕。)
![diler_biedy - #pokazauto #samochody #basemodelsonly
Chłop wydał ostatnie pieniądze, i...](https://wykop.pl/cdn/c3201142/f76d7c3ad56978adcb07ec47fde0771e3cac51460d421e8eec35b12a71f07f93,w150.jpg?author=diler_biedy&auth=1c25a289f4e73134354c65a5e2d9f63e)
źródło: camry
Pobierz
Kod:
using AppApi.Data;
using AppApi.Models;
using Microsoft.AspNetCore.Mvc;
// using Microsoft.EntityFrameworkCore;
namespace AppApi.Controllers;
[ApiController]
[Route("[controller]")]
public class DriversController : ControllerBase
{
private readonly ApiDbContext _context;
public DriversController(ApiDbContext context)
{
_context = context;
}
[HttpGet]
public IActionResult GetDrivers()
{
List<Driver> drivers = _context.Drivers.ToList(); // ToListAsync()
return Ok(drivers);
}
}
ApiDbContext wygląda tak:
using Microsoft.EntityFrameworkCore;
using AppApi.Models;
namespace AppApi.Data
{
public class ApiDbContext : DbContext
{
public DbSet<Driver> Drivers { get; set; };
public ApiDbContext(DbContextOptions<ApiDbContext> options) : base(options)
{
}
}
}
Skoro ApiDbContext używa Microsoft.EntityFrameworkCore to wydaje mi się że ta metoda "ToListAsync" powinna już tam być a jej nie ma. A ApiDbContext przychodzi z zewnątrz do DriversController to jakim sposobem cokolwiek w DriversController zmienia ApiDbContext? Może mi to ktoś wyjaśnić albo dać linka do jakiegoś źródła które wytłumaczy jak dla n00ba co się dzieje pod spodem? Bo wszystkie tutoriale mówią jak zrobić fora albo ifa a z tym to sobie poradzę. I beka bo ChatGPT napisał :
Więc chyba się zgadza XD
Pytanie zapewne w stylu n00b 2000, ale cóż zrobić. :D Z góry dzięki.
#naukaprogramowania #csharp #dotnet
W java to sie import nazywa i moim zdaniem jest nieco bardziej trafne.
Dokładnie tutaj: https://github.com/dotnet/efcore/blob/main/src/EFCore/Extensions/EntityFrameworkQueryableExtensions.cs
To, że w klasie ApiDbContext masz już using na ten namespace to nie ma żadnego znaczenia.
Tak naprawdę ta linia mogłaby być napisana w ten sposób (i tak to naprawdę działa):
Microsoft.EntityFrameworkCore.QueryableExtensions.ToListAsync(_context.Drivers);
@programista15cm To że dodając "Using coś tam" używam "coś tam" to wiem. Jak @budyn i @zenoniusz napisał "ToListAsync" to extension method. W JS czy TS się z czymś takim nie spotkałem. Nie wiem nawet czy coś takiego w JS/TS istnieje, wiem że można zmodyfikować prototyp jakiegoś obiektu żeby dodać do niego metodę ale nie spotykałem się z samododającymi się metodami :D
Link od