Mi sto legando manualmente una tabella di codice del framework di entità prima a un datagridview. Quando imposto AutoSizeMode su AllCells e aggiungo un'istanza alla tabella ottengo una NullReferenceException durante l'aggiunta.NullReferenceException quando si imposta AutoSizeMode su AllCells in DataGridView
il codice viene eseguito in questo modo:
dbContext.Persons.Load();
myDataGridView.DataSource = dbContext.Persons.Local.ToBindingList();
myDataGridView.Columns[ "Description" ].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
Person p = new Person();
p.Name = "Tester Alfred";
p.Description = "Description"; //no more properties, only those two (Id Property is annotated as [Key]
dbContext.Persons.Add(p); // this throws a NullReferenceException
Ecco la parte rilevante dalla analisi dello stack:
System.Data.Entity.Core.Objects.ObjectContext.AddSingleObject(EntitySet entitySet, IEntityWrapper wrappedEntity, String argumentName)
bei System.Data.Entity.Core.Objects.ObjectContext.AddObject(String entitySetName, Object entity)
bei System.Data.Entity.Internal.Linq.InternalSet`1.<>c__DisplayClassd.<Add>b__c()
bei System.Data.Entity.Internal.Linq.InternalSet`1.ActOnSet(Action action, EntityState newState, Object entity, String methodName)
bei System.Data.Entity.Internal.Linq.InternalSet`1.Add(Object entity)
bei System.Data.Entity.DbSet`1.Add(TEntity entity)
La tabella Persone è altrimenti vuoto. Quando rimuovo l'AutoSize - Istruzioni tutto va bene.
Piattaforma: WInForms in .Net 4.5.1 utilizzando Studio 2013; Esecuzione di Win8 Pro, EF 6.1.3
Edit: errore di battitura Rimosso che ha introdotto un secondo GridView
Sono lieto di scoprire che questo non è un duplicato del solito. –
Cosa succede se si sposta l'aggiunta della nuova persona prima dell'associazione dati? –
myDataGridView.Columns ["Descrizione"] sei sicuro che questa colonna esista ?? – Jacek