我有一张位置表、一张服务分配表和一张服务表。位置和服务通过服务分配联系在一起。在位置创建中,我希望能够通过复选框为其分配服务。
但我无法访问位置创建视图中的服务。
位置模型
namespace LocApp.Models
{
public class Location
{
public int id { get; set; }
public string name { get; set; }
public bool active { get; set; }
public virtual ICollection<ServiceAssignment> ServiceAssignment { get; set; }
}
}
服务模式
namespace LocApp.Models
{
public class Service
{
public int id { get; set; }
public string name { get; set; }
public string description { get; set; }
public bool active { get; set; }
public string icon { get; set; }
public virtual ICollection<ServiceAssignment> ServiceAssignment { get; set; }
}
}
服务分配
namespace LocApp.Models
{
public class ServiceAssignment
{
public int id { get; set; }
public int locationID { get; set; }
public int serviceID { get; set; }
public virtual Location Location { get; set; }
public virtual Service Service { get; set; }
}
}
在我的上下文类中,我没有映射任何关系,因为根据我看过的文章和屏幕截图,实体框架会为我解决这些问题。
所以这里的主要问题是:
我想在位置创建视图中访问 service.name 和 id 以创建复选框,以便在保存新位置时可以将位置 id 和该服务 id 保存在数据库中。
这里的诀窍是位置和服务具有多对多的关系。
service assignment id.
Location id -> service assignment location id
service assignment service id <- service id
以上是服务分配表的基本布局。位置 <-> 服务的所有关系都通过此表处理。