如何创建PK / FK关系字符串和uniqueidentifier?

时间:2016-08-04 19:11:14

标签: c# asp.net-mvc entity-framework ef-code-first guid

我有两个名为User and Student的实体,如下所示:

public class User
{
    [Key]
    public string Id { get; set; }

    //omitted for brevity
}


public class Student
{
    [Key]
    public int Id { get; set; }

    //Foreign key for User
    public Guid UserId { get; set; }

    //omitted for brevity
}

在MVC项目中,我使用EF Code First并希望在这些实体之间建立关系。我应该在User实体中将哪种数据类型用作UserId字段? string或Guid(User表的Id字段中有Guid值)?你能举个例子吗?

2 个答案:

答案 0 :(得分:0)

您应该将ID用于ID字段以用于索引目的。使用Guid或string将明显慢于int。

但是对于您的问题,UserId的类型必须与User.Id

的类型相同

答案 1 :(得分:0)

您可以在用户实体中使用GUID。

public class User
{
    [Key]
    public Guid Id { get; set; }
}

public class Student
{
    [Key]
    public int Id { get; set; }

    //Foreign key for User
    public Guid UserId { get; set; }

    public virtual User User { get; set; }

}