Невозможно вставить явное значение для столбца идентификаторов, используя Entity Framework Core - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь создать несколько таблиц данных для своего проекта с использованием 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, однако я не хочу хранить коллекцию в таблицах Projects / Users, только в ProjectRating.

Когда я пытаюсь отправить запрос POST с телом следующим образом:

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

Я получаю ошибку

Невозможно вставить явное значение для столбца идентификаторов в таблице «Пользователи», если для параметра IDENTITY_INSERT установлено значение OFF.

Итак, мой вопрос: возможно ли создать связь между ProjectRating для пользователей / проектов, не имея ICollection<ProjectRating> ProjectRatings на них? Если да, то как я могу этого достичь?

Спасибо!

...