2016-03-15 85 views
0

我想寫一個簡單的一對一我的模型之間的關係。 我從sqlite-net得到的例外消息是Don't know about Profile如何編寫簡單的OneToOne關係?

public class User 
{ 
    [PrimaryKey] 
    public int pk { get; set; } 

    public string first_name { get; set;} 

    [OneToOne] 
    public Profile profile { get; set;} 

    ... 
} 

public class Profile 
{ 
    [PrimaryKey] 
    public int pk { get; set; } 

    [ForeignKey(typeof(User))] 
    public string UserID { get; set; } 

    [OneToOne] 
    public User user { get; set;} 
} 

我在這裏錯過了什麼? 感謝

+1

爲什麼UserId是你的User pk是int的'string' – Daniel

+0

這沒什麼區別。 – Saphire

回答

1

你可以看到源代碼here,該異常被拋出線2044如果你檢查,你會看到它檢查C#類型是否被支持,然後再返回相關SQL類型的功能。

您嘗試添加的配置文件類型不受支持,因爲它是您創建的自定義類型,所以sqlite-net無法知道要爲其返回的SQL類型。

嘗試並重新設計您的代碼,以便OneToOne關係僅在受支持的類型上需要。

+0

謝謝!我不能'sqlite'自動創建一個關係表? – Saphire

+0

恐怕我不是這方面的專家,但它看起來像從[這裏](http://stackoverflow.com/a/29005182/6017401)的答案,可能有辦法做你的要求。 – ChrisS