我正在尝试使用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
?如果是这样,我该如何实现?
谢谢!