基本上我有一个Client
类和一个Address
类如下
public class Client
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
public string Description{ get; set; }
public string Email { get; set; }
public string Website { get; set; }
public string PhoneNumber { get; set; }
[ForeignKey(typeof(Address))]
public int AddressId { get; set;}
[OneToOne(CascadeOperations = CascadeOperation.All)]
public Address Address { get; set; }
}
public class Address
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
public string Line1 {get;set;}
public string Line2 {get;set;}
public string Line3 {get;set;}
public string Line4 {get;set;}
public string Line5 {get;set;}
public string Line6 {get;set;}
}
我正在使用 nuget 包 SQLite.Net-PCL 和 SQLite.Net-PCL 扩展,这样我基本上可以调用 Insert 并传递Client
对象以将客户端及其地址完整地保存到数据库。像这样:
_db.InsertWithChildren(clientObject);
在我的应用程序(带有 MvvmCross 的 Xamarin.iOS)中,我已经将一个预先存在的数据库与应用程序捆绑在一起,因此我没有在代码中创建表,所以我的故障点在InsertWithChildren(clientObject)
通话中。
我已经尝试删除预先存在的表,然后在代码中创建表,先创建表,然后Address
创建Client
Client 表,它告诉我它“不知道”Address
类型/属性。如果您先尝试该Client
表,则会出现同样的错误。我已经尝试了尽可能多的变体,以便在一次调用中保存带有地址的客户端,但无济于事。
任何人都可以对此有所了解吗?