我是c#和asp.net mvc平台的初学者,所以当你回答一些细节回复时我会理解 这是案例:
有一个员工,它可以有多个地址。在我看来,我正在做的是,当我创建一个员工时,在同一个视图中,我给了管理员选择,他可以为他的员工添加不同的地址,但这些地址需要在其他表中,因为他可以创建尽可能多的地址他想要的地址可能不会。
正如我使用Entity FrameWork所做的那样,所以这些是类
public partial class Employee
{
public Employee()
{
this.EmployeeAddresses = new HashSet<EmployeeAddress>();
this.EmployeeDocs = new HashSet<EmployeeDoc>();
}
public int EmployeeId { get; set; }
public string LoginName { get; set; }
public string Password { get; set; }
public string FullName { get; set; }
public virtual ICollection<EmployeeAddress> EmployeeAddresses { get; set; }
}
public partial class EmployeeAddress
{
public int AddressId { get; set; }
public int EmployeeId { get; set; }
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Country { get; set; }
public string ZipCode { get; set; }
public virtual Employee Employee { get; set; }
}
以下是视图页面的示例:
<div class="col-md-6 col-xs-12">
@Html.TextBoxFor(model => model.FullName, new { @class = "form-control" })
</div>
<div class="col-md-6 col-xs-12">
@Html.TextBoxFor(model => model.LoginName, new { @class = "form-control" })
</div>
像这样的模型属性绑定在这里我如何才能在这里找到地址表属性?
答案 0 :(得分:1)
史蒂夫格林提到,你可以使用包含类似的内容:
_dbset.Include(x => x.EmployeeAddress);
这应该在您的初始选择查询中,然后您可以浏览视图中的数据集并呈现地址,因此只需编写您的剃刀视图,就像您上面所做的那样(但是对于您的地址视图)然后包含在foreach循环中的内容如下:
foreach(var item in model)
{
@Html.DisplayFor(model => model.EmployeeAddresses.AddressLine1)
}
您可能希望先进行某种检查,看看他们是否有地址或不止一个地址。