Dispongo di un database esistente e di un dominio esistente, è stato originariamente creato e accessibile tramite nHibernate e ora lo sto spostando su Entity Framework Core.
Ho iniziato cercando di accedere a un solo elemento del dominio (che sfortunatamente è strettamente associato a molte altre entità). Il dominio è molto legato e monolitico e NON può essere modificato come parte di questo esercizio.
Ricevo molti errori simili a: "La proprietà 'DateTimeFormatInfo.AbbreviatedDayNames' non può essere mappata, perché è di tipo 'String []' che non è un tipo primitivo supportato o un tipo di entità valido. oppure ignorarlo usando l'attributo [NotMapped] o usando "EntityTypeBuilder.Ignore" in "OnModelCreating". "
Mappatura di tipi .NET a parte, è molto difficile cercare di capire dove fallisce la mappatura. C'è uno strumento o un modo per identificare facilmente la sezione in errore.
Ho provato il seguente: - SQL Trace, niente come non riesce nell'app. - L'eccezione fornisce solo quell'errore, nessuna eccezione interna o ulteriori informazioni. - Ha effettuato una ricerca di testo nell'intera soluzione per entità con elementi di tipo 'DateTimeFormatInfo'. Non ce ne sono. - Ha effettuato una ricerca di testo in tutta la soluzione per entità incluse o utilizzando proprietà / funzione AbbreviatedDayNames, anche nulla.
Sono quindi bloccato cercando di individuare esattamente quale mappatura delle entità sta fallendo.
Inoltre, sono desideroso di utilizzare l'API Fluent EF per qualsiasi mappatura.
Stai cercando il testo sbagliato.
DateTimeFormatInfo.AbbreviatedDayNames non è una proprietà. Dovresti provare a cercare qualsiasi proprietà con tipo 'String []', quindi cercalo nelle Entites.
E l'errore stesso dice dove si trova il problema. EF non può mappare array di stringhe su alcun tipo di db.