如何写一个简单的OneToOne关系?

时间:2016-03-15 13:25:37

标签: c# sqlite-net

我想在我的模型之间写一个简单的一对一关系。 我从sqlite-net获得的异常消息是Don't know about Profile

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 个答案:

答案 0 :(得分:1)

您可以看到源代码here,该异常将在第2044行引发。如果您检查该函数,您将看到它正在检查是否支持C#类型,然后返回相关的SQL类型。

不支持您尝试将其添加到的配置文件类型,因为它是您创建的自定义类型,因此sqlite-net无法知道要为其返回的SQL类型。

尝试重新设计代码,以便仅在支持的类型上使用OneToOne关系。