Database first canna di brutto?

di il
4 risposte

Database first canna di brutto?

Ciao a tutti , stò facendo una prova per utilizzare database-first usando entity framework core , vorrei utilizzare AdventureWorks2014 uso lo scaffolding così :
Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=AdventureWorks2014;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
purtroppo produce un AdventureWorks2014Context con 109 errori : questi sono di due tipi :

1) CS1660 Non è possibile convertire espressione lambda nel tipo 'string' perché non è un tipo delegato

2) CS1929 'PropertyBuilder<int>' non contiene una definizione per 'HasComputedColumnSql' e il miglior overload 'RelationalPropertyBuilderExtensions.HasComputedColumnSql(IConventionPropertyBuilder, string, bool)' del metodo di estensione richiede un ricevitore di tipo 'IConventionPropertyBuilder'

il primo si verifica su un codice tipo questo :
entity.HasIndex(e => new { e.AddressLine1, e.AddressLine2, e.City, e.StateProvinceId, e.PostalCode }, "IX_Address_AddressLine1_AddressLine2_City_StateProvinceID_PostalCode")
                    .IsUnique();
il secondo :
entity.Property(e => e.SalesOrderNumber)
                    .IsRequired()
                    .HasMaxLength(25)
                    .HasComputedColumnSql("(isnull(N'SO'+CONVERT([nvarchar](23),[SalesOrderID]),N'*** ERROR ***'))", false)
                    .HasComment("Unique sales order identification number.");


vorrei chiedere se posso dare qualche parametro allo scaffold database-first per evitare questi errori oppure li devo risolvere uno ad uno ,peraltro non ho neanche capito bene come agire , grazie anticipatamente per un consiglio od un suggerimento , ciao

4 Risposte

  • Re: Database first canna di brutto?

    Ributto la palla ,
  • Re: Database first canna di brutto?

    surfernet ha scritto:


    stò facendo una prova per utilizzare database-first usando entity framework core , vorrei utilizzare AdventureWorks2014 uso lo scaffolding così [...]
    vorrei chiedere se posso dare qualche parametro allo scaffold database-first per evitare questi errori oppure li devo risolvere uno ad uno ,peraltro non ho neanche capito bene come agire
    Quale versione di Entity Framework Core stai utilizzando?

    In ogni caso, hai provato a utilizzare un tool di supporto maggiormente intuitivo, tipo EF Core Power Tools?

    Ciao!
  • Re: Database first canna di brutto?

    Ciao Alka,
    grazie per aver risposto , stò utilizzando ala 3.1.11 ,
    ciao
  • Re: Database first canna di brutto?

    Non ho capito come mai database-first abbia generato quegli errori comunque il primo si risolve usando HasName così :
     entity.HasIndex(e => e.BusinessEntityId).HasName("IX_ProductVendor_BusinessEntityID"); 

    ed il secondo non passando il secondo parametro booleano ad HasComputedColumnSql :
    entity.Property(e => e.LineTotal).HasColumnType("money")
                        .HasComputedColumnSql("(isnull([OrderQty]*[UnitPrice],(0.00)))")
                        .HasComment("Per product subtotal. Computed as OrderQty * UnitPrice.");
    conosco poco entityframeworkcore ma sembra strano che generi stà caterva di errori , spero che qualcuno possa spiegare l' "arcano" ,grazie,ciao
Devi accedere o registrarti per scrivere nel forum
4 risposte