我創建了一個OneToOne關係基本上我有一個Client
類和Address
類像下面如何使用SQLite擴展
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
但創造它告訴我,「不知道」的Address
類型/屬性的客戶表。如果您先嚐試Client
表,則會出現同樣的錯誤。我嘗試了儘可能多的變化,只是在一次調用中將地址保存到客戶端,但無濟於事。
任何人都可以對此有所瞭解嗎?
當我安裝了MvvmCross 2時,如果我記得沒錯的話,SQliteConnection類會出現問題。不知道如何解決它,所以我回到了在問題中提到的PCL二。 – codingpitch 2014-11-07 11:52:25
@GaryPope看到我的編輯細節 – redent84 2014-11-07 12:12:13
太好了,謝謝你!我毫不懷疑這似乎是我遇到的問題。我甚至試圖明確忽略那些屬性,但它也沒有工作。你可以發表解釋作爲迴應,以便其他人可以從中受益嗎? – codingpitch 2014-11-07 13:05:53