我的模型类:实体框架,两个表之间的关系
public class User
{
public User()
{
Polls = new List<Poll>();
}
public int Id { get; set; }
public String FirstName { get; set; }
public String LastName { get; set; }
ICollection<Poll> Polls { get; set; }
}
public class Poll
{
public int Id { get; set; }
public int PositiveCount { get; set; }
public int NegativeCount { get; set; }
public String Description { get; set; }
public User User { get; set; }
}
public class PollsContext : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Poll> Polls { get; set; }
}
EF创建了民意调查表的表user_id列。 在轮询的创建视图中,我想为新的轮询属性指定UserId,但intellisense显示没有对model.UserId的访问,有一个model.User.Id,它不允许我创建轮询对于现有用户,而是使用新ID创建新用户,并且不创建关联。
<div class="editor-label">
@Html.LabelFor(model => model.User.Id)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.User.Id)
@Html.ValidationMessageFor(model => model.User.Id)
</div>
那么为现有用户创建新民意调查的正确方法是什么?
我会尝试您的建议。我只是感到困惑,因为User_Id列实际上存在,模型不能访问它。你知道为什么吗? – mishap
尝试了你的建议,现在EF创建了User_Id列而没有任何关联,而User_Id1作为FK到Users表。 – mishap
您使用的是什么版本的EF?先写代码或者用edmx映射文件“普通”一个(我不知道那个名字)? – sTodorov