6

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.

risposta

1

Se è stato aggiunto un riferimento a SQLiteNetExtensions-PCL, NON è inoltre necessario aggiungere manualmente un riferimento a SQLite da VS/Aggiungi riferimenti poiché il pacchetto Nuget include la versione corretta.

+0

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. –