Sto appena iniziando a imparare un po 'sul framework di entità e non ho molta esperienza con ORM.Impostare la proprietà del modello su boolean in Entity Framework
Nella mia piccola app ho una tabella, questa tabella sql server ha diverse colonne tra cui un PrimaryKey (int) un Name (stringa) e un Flag (tinyint).
Quando ho importato questa tabella in esso automaticamente assegnato il tipo di dati di Flag come un byte. Questo va bene, ma la bandierina in realtà dovrebbe essere un valore booleano, così ho
- fatto clic sul Dettagli Mapping
- selezionati Miei proprietà Bandiera
- cambiato il tipo da Byte a Boolean
- ricostruito l'applicazione
poi ho ottenuto questo errore:
Error 2019: Member Mapping specified is not valid. The type 'Edm.Boolean[Nullable=True,DefaultValue=]' of member 'MyFlag' in type 'MyModel.MyItem' is not compatible with 'SqlServer.tinyint[Nullable=True,DefaultValue=]' of member 'MyFlag' in type 'MyModel.Store.MyItem'.
C'è un modo per avere
MyItem item = new MyItem();
item.Flag = true;
e hanno Flag Salva per 1 nel database?
Perché mai avresti bisogno di questo invece di un bool? –
@JonasStensved il problema era che la tabella del database che stavo usando aveva il tipo di dati errato al suo interno. Una volta che ho cambiato la tabella per usare un 'bit' invece di un' byte', allora tutto ha funzionato perfettamente. –