Я пытаюсь создать несколько таблиц данных для своего проекта с использованием 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
на них? Если да, то как я могу этого достичь?
Спасибо!