我有这样一个模型:MVC多个模型与孩子的关系
客户 - 其中有许多地方 - 它可以有很多球队,一种一个一对多一对多的关系。
我可以找到许多一对多关系的例子,但没有一个这样的例子。
现在的问题是:如何获取客户端对象以及这些位置的所有位置和团队?
此前,有SQL,我会加入这将给予我行对每一所有表,但我似乎无法做到这一点,即使有一个ViewModel将它们组合起来:(
public class Client
{
private System.Guid _id;
[HiddenInput(DisplayValue = false)]
public System.Guid ClientId {
get
{
if (_id == null || _id == Guid.Empty)
_id = Guid.NewGuid();
return _id;
}
set
{
_id = value;
}
}
[Required(ErrorMessage = "The Client Name is required")]
public String Name { get; set; }
public virtual ICollection<Location> Locations { get; set; }
}
public class Location
{
private System.Guid _id;
[HiddenInput(DisplayValue = false)]
public System.Guid LocationId {
get
{
if (_id == null || _id == Guid.Empty)
_id = Guid.NewGuid();
return _id;
}
set
{
_id = value;
}
}
[Required(ErrorMessage = "The Site Name is Required")]
public String Name { get; set; }
[Required(ErrorMessage = "The Address is required")]
public String Address { get; set; }
[Required(ErrorMessage = "The Postcode is required")]
public String Postcode { get; set; }
public virtual ICollection<EngagementTeam> Teams { get; set; }
}
public class EngagementTeam
{
private System.Guid _id;
[HiddenInput(DisplayValue = false)]
public System.Guid EngagementTeamId {
get
{
if (_id == null || _id == Guid.Empty)
_id = Guid.NewGuid();
return _id;
}
set
{
_id = value;
}
}
[Required(ErrorMessage = "The Team Name is required")]
public String Name { get; set; }
public virtual ICollection<Person> Members { get; set; }
}
无关:在构造函数中生成主键('Guid.NewGuid()')来清理代码。 – Ryan