【发布时间】:2011-12-11 20:47:21
【问题描述】:
我的模型类是:
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 为 Polls 表创建了一个表 User_Id 列。 在投票的创建视图中,我也想指定新投票所属的 UserId,但智能感知显示无法访问 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>
那么为现有用户创建新投票的正确方法是什么?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 entity-framework razor