我一直在尝试创建多对多关系,而不必使用实体框架(MVC4 和 EF5RC)将未使用的属性放在我的视图模型中。
我有一User
堂课:
public class User
{
public Guid Id { get; set; }
public string[] Roles { get; set; }
public string Name { get; set; }
}
还有一个Role
类:
public class Role
{
public Role()
{
Users = new List<User>();
}
public int Id { get; protected set; }
public string Name { get; set; }
public string Description { get; set; }
public IList<User> Users { get; set; }
}
我想要实现的是拥有一个属于某些角色的用户(此时角色的字符串名称),它们可以是多个角色。每个角色可以有多个用户。
我不想将用户列表放入角色中并将角色列表放入用户中,以便实体框架满意并保存它。
我一直在尝试使用 modelBuilder 的东西,(遵循一些例子,例如在 Entity Framework Code First 中为分层数据定义关系)。没有喜悦。
我想避免额外属性的原因是拥有空列表感觉不对,或者更糟糕的角色列表然后列出其他用户。我希望我的域模型是干净的,而不必弯腰使用存储库。