无法使用Entity Framework Core为身份列插入显式值

时间:2019-06-20 19:30:39

标签: c# entity-framework api

我正在尝试使用Entity Framework Core为我的项目创建一些数据表。

实体如下:

public class Project
{
    public int ProjectId { get; set; }
    public string Name { get; set; }

    public int UserId { get; set; }
    public virtual User User { get; set; }
}

public class User
{
    public int UserId { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
    public string Email { get; set; }

    public virtual ICollection<Project> Projects { get; set; }
}

public class ProjectRating
{
    public int ProjectRatingId { get; set; }
    public double RatingValue { get; set; }
    public DateTime RatingDateTime { get; set; }

    public virtual Project Project { get; set; }
    public virtual User User { get; set; }
}

我想在ProjectRatings和Projects / Users表之间创建关系,但是我不想仅在ProjectRating上保留Projects / Users表上的集合。

当我尝试发送带有正文的POST请求时,如下所示:

{
    "ProjectRating": {
        "RatingValue": 10,
        "Project":
        {
            "name": "TestProject",
            "projectId": 1,
                "userId": 1
        },
        "User": {
            "userId": 1
        }
    }
}

我遇到错误

  

当IDENTITY_INSERT设置为OFF时,无法为表“用户”中的标识列插入显式值。

所以我的问题是,是否可以在ProjectRating与用户/项目之间创建关系而无需在其上放置ICollection<ProjectRating> ProjectRatings?如果是这样,我该如何实现?

谢谢!

0 个答案:

没有答案