【发布时间】:2016-03-05 15:55:58
【问题描述】:
我开始使用实体框架,但遇到了一个大问题。我想要实体 User 和 Role 之间的多对多关系。
所以我创建了 3 个表 User、Role、UserRoles
接下来我创建了 3 个实体:
public class User
{
public virtual int UserId { get; protected set; }
public virtual string UserName { get; set; }
public virtual string Password { get; set; }
public virtual DateTime CreateDate { get; set; }
public virtual ICollection<UserRole> Roles { get; set; }
public virtual ICollection<UserRole> CreatedRoles { get; set; }
}
public class Role
{
public virtual int RoleId { get; protected set; }
public virtual string Name { get; set; }
}
public class UserRole
{
public virtual int UserRoleId { get; protected set; }
public virtual int UserId { get; set; }
public virtual User User { get; set; }
public virtual int RoleId { get; set; }
public virtual Role Role { get; set; }
public virtual DateTime CreateDate { get; set; }
public virtual int CreateUserId { get; set; }
public virtual User CreateUser { get; set; }
}
我想将映射的用户与创建的用户分开。并且在这一步实体框架开始抛出错误。
接下来我想从User 对象导航到他的映射角色和他创建的映射。
我可以配置实体框架来做这些事情吗?
【问题讨论】:
-
我认为这在 DB 中关系很好,所以我想在 .NET 中创建良好的实体
标签: c# entity-framework foreign-keys navigation-properties