Skip to content

Forum

Please or Register to create posts and topics.

database-first con adventureworks2014 produce 109 errori,perchè e come risolvere?

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.");

come potrei risolvere ?,

grazie per una risposta

ho risolto gli errori prodotti dal tool

il primo usando HasName :

entity.HasIndex(e => e.BusinessEntityId).HasName("IX_ProductVendor_BusinessEntityID");

il secondo togliendo il parametro bool che ,come suggerisce visual studio ,non dovrebbe esserci:

entity.Property(e => e.SalesOrderNumber)
.IsRequired()
.HasMaxLength(25)
.HasComputedColumnSql("(isnull(N'SO'+CONVERT([nvarchar](23),[SalesOrderID]),N'*** ERROR ***'))")
.HasComment("Unique sales order identification number.");

spero che qualcuno possa aiutarmi a capire come mai database-first

Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=AdventureWorks2014;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

ha generato gli errori di cui sopra ,grazie,ciao

 

 

 

ho creato un altro progetto ,librerie identiche, ho lanciato lo scaffold ed il dbcontext è corretto 🙂 ,i punti che contenevano errori sono  ora uguali alle correzioni manuali che avevo fatto