Ho difficoltà a provare a implementare un esempio di estensione SQLite per Windows Phone 8.1 che presenta una relazione OneToMany. Mi piacerebbe davvero usare questa funzione, ma mi sto tirando fuori i capelli cercando di farlo funzionare. Come in questo question, quando provo ad usare il provided example per una tabella Azioni che ha una lista di valutazioni:Utilizzo di estensioni SQLite-Net e relazione OneToMany
public class Stock
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
[MaxLength(8)]
public string Symbol { get; set; }
[OneToMany(CascadeOperations = CascadeOperation.All)] // One to many relationship with Valuation
public List<Valuation> Valuations { get; set; }
}
public class Valuation
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
[ForeignKey(typeof(Stock))] // Specify the foreign key
public int StockId { get; set; }
public DateTime Time { get; set; }
public decimal Price { get; set; }
[ManyToOne] // Many to one relationship with Stock
public Stock Stock { get; set; }
}
e cerco di creare la tabella ottengo l'errore:
An exception of type 'System.NotSupportedException' occurred in app_name.exe but was not handled in user code Additional information: Don't know about >System.Collections.Generic.List`1 [app_name.Model.modelName]
I inizialmente aveva incluso un riferimento a un pacchetto NuGet a sqlite-net e a SQLiteNetExtensions-PCL, ma in precedenza si diceva che ciò è dovuto alla versione sbagliata di sqlite-net a cui si fa riferimento.
Tuttavia, ho provato a scaricare il codice sorgente per sqlite-net e a crearlo localmente e non viene referenziato direttamente da SQLiteNetExtensions.
Ho incluso la sorgente localmente nella mia soluzione e non sembra fare la differenza. Qualcuno avrebbe ulteriori suggerimenti? Non ho trovato nessun esempio scaricabile per questo.
In realtà sono riuscito a far funzionare le estensioni. La soluzione è che NON è necessario aggiungere manualmente un riferimento a SQLite da VS/Aggiungi riferimenti poiché il pacchetto Nuget include la versione corretta per te. –