Witam, robię mini projekt wypożyczalni samochodów. Napotkałem na problem którego za nic nie mogę rozwiązać, a mianowicie.
Posiadam widok lokalnej bazy w VisualStudio2019 i problem mam z tym aby jakoś wyświetlić ten widok na tej stronie. Nie mogę utworzyć kontrolera ponieważ drze się o klucz mimo że dodałem [Keyless].
Model:
[Keyless]
public class All_Car_Rent
{
public String Nazwisko { get; set; }
public String Imie { get; set; }
public String Marka { get; set; }
public String Model { get; set; }
}
Migracja:
public partial class abcd : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
var sql = @"
CREATE OR ALTER VIEW [dbo].[wypozyczenia_wszystkie] AS
SELECT cl.nazwisko AS Nazwisko, cl.imie AS Imie, c.Marka AS Marka, c.Model AS Model
FROM Clients cl, Rents r, CopyCars cc, Car c
WHERE cl.id_klienta=r.id_klienta AND r.nr_rej=cc.nr_rej AND
cc.id_auta=c.id_auta
ORDER BY cl.nazwisko offset 0 rows ";
migrationBuilder.Sql(sql);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.Sql(@"DROP VIEW wypozyczenia_wszystkie");
}
}
Context:
public DbSet<All_Cars_Rent> All_Cars_Rent { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder
.Entity<All_Cars_Rent>(
eb =>
{
eb.HasNoKey();
eb.ToView("wypozyczenia_wszystkie");
eb.Property(v => v.Nazwisko).HasColumnName("Nazwisko");
});
}