Se stiamo utilizzando linq to Entity, può capitare che venga visualizzato il messaggio "cannot convert lambda expression to type 'string' because it is not a delegate type".
Per esempio il frammento di codice qui di seguito, genera tale errore nella parte include.
Entita.NomeTabella.Include(c => c.TabellaRelazione).Include(c => c.TabellaRelazione2);
Questo è dovuto perchè non abbiamo aggiunto lo spazio dei nomi System.Data.Entity;
Una volta aggiunto non avremo più questo errore.
Iscriviti a:
Commenti sul post (Atom)
3 commenti:
Ciao , ho provato ad eseguire database-first sul db AdventureWorks2014 , ottengo un db context con 109 errori,questi sono di sue tipi :
1) CS1660 Non è possibile convertire espressione lambda nel tipo 'string' perché non è un tipo delegato
2) CS1929 'PropertyBuilder' 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.");
spero tu abbia qualche suggerimento su come risolvere e cosa studiare,grazie,ciao
""risolto"" a chi interessa può trovare i dettagli qua https://www.iprogrammatori.it/forum-programmazione/dotnet-framework/database-first-canna-brutto-t46056.html#p8668909
Grazie per aver condiviso anche la soluzione.
Posta un commento