Sqlite一对多关系

时间:2015-08-18 19:42:30

标签: c# list generics xamarin sqlite-net

我目前正在创建一个需要存储和从sqlite数据库获取数据的应用程序。我目前使用的两个Nuget套餐是Sqlite PCLSQLite-Net Extensions

[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;}
}

整个过程编译得很好,但是当我尝试运行模拟器时,我收到了这条消息:

  

已经抛出了System.NotSupportedException,不知道   System.Collections.Generic.List1

我查看了SQLite-Net Extensions documentation,它确实支持List。

有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

请在表PatientVitals中添加Patient作为外键的主键。

答案 1 :(得分:0)

无论如何,经过一些研究,结果发现我必须删除所有与SQLite相关的nudgets并将它们重新安装到项目中。在我的例子中,由于我需要SQLite-Net Extensions,我只需要将它放在我的项目中,任何依赖项nudgets也将与SQL-Net Extensions一起安装。