2015-08-18 9 views
5

Ich mache derzeit eine App, die Daten zu und von einer SQLite-Datenbank speichern und erhalten muss. Die zwei Nuget-Pakete, die ich momentan verwende, sind Sqlite PCL und SQLite-Net Extensions.Sqlite One to Many Beziehung

[Table("patient")] 
public class Patient 
{ 
[PrimaryKey] 
public string ID { get; set;} 

    public string FirstName { get; set; } 
    public string LastName { get; set; } 

    [OneToMany] 
    public List<PatientVitals> PatientVitals { get; set; } 
} 

[Table("patientVitals")] 
public class PatientVitals 
{ 
    [PrimaryKey] 
    public string VitalID {get;set;} 

    public string Weight { get; set;} 
    public string Height { get; set;} 

    [ForeignKey(typeof(Patient))] 
    public string SmartCardID {get;set;} 
} 

Die ganze Sache ist in Ordnung zusammengestellt, aber wenn ich versuche, den Simulator Ich erhalte diese Nachricht auszuführen:

System.NotSupportedException geworfen wurde Sie wissen nicht, über System.Collections .Generic.List1

Ich überprüfte die SQLite-Net Extensions documentation und es unterstützt List.

Kann jemand das beheben?

+0

Funktioniert nicht, erhalten die gleiche Nachricht.Thanks! – Fayt

+0

Ich denke, es gibt einen Fix, an dem sie arbeiten (oder gearbeitet haben), um das Problem List <> zu beheben. [link] (https://bitbucket.org/twincoders/sqlite-net-extensions/pull-requests/12/support-ilist-instead-of-list-as-enclosed/diff#comment-8587796) – Roman

Antwort

0

Fügen Sie bitte den Primärschlüssel des Patienten als Fremdschlüssel in die Tabelle PatientVital ein.

+0

Es ist die Öffentlichkeit Zeichenfolge SmartCardID. – Fayt

+0

Sie müssen 'ändern [ForeignKey (typeof (PatientItem))]' zu '[ForeignKey (typeof (Patienten))]' –

0

Wie auch immer, nach einigen Nachforschungen stellte sich heraus, dass ich alle SQLite-bezogenen Nudgets entfernen und in das Projekt neu installieren musste. In meinem Fall, da ich die SQLite-Net Extensions brauche, muss ich es nur in mein Projekt einfügen und alle Abhängigkeiten Nudgets werden auch zusammen mit SQL-Net Extensions installiert.