【发布时间】:2014-04-19 12:36:27
【问题描述】:
我是 asp.net mvc 和实体框架代码的新手,我对数据库也不是很感兴趣。对于错误的术语或我理解事物的方式,我提前道歉。
现在回答问题。我有以下模型:
用户模型
public class User
{
public int UserId { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public int RoleId { get; set; }
[ForeignKey("RoleId")]
public virtual IEnumerable<Role> Roles { get; set; }
}
榜样
public class Role
{
public int RoleId { get; set; }
public string RoleName { get; set; }
}
我最终想要的是一种使用 Ef codefirst 方法和流式 API 将 UserId 和 RoleId 映射到具有一对多关系的 User_Role 表的方法,用户可以拥有多个角色:
我认为this question 中的做法是正确的,只是作者使用了多对多连接。我这样尝试过,但是带有 u => u.users 的部分给了我一个错误(我认为那是因为模型中没有 users 属性,所以他回答了他的问题但没有更新他的问题?)
我的问题:让 Ef 为我生成此表的确切 fluent api 代码是什么?
我不确定的事情:(请忽略)
- 这是解决我的问题的正确方法吗?
- 一旦我有了查找表,这仍然是声明导航属性的正确方法,以便我以后可以像 user.Roles 一样使用它并检索他们的角色吗?
- User 模型中的 RoleId 将从何处填充,Roles 表或 User_Role?
- 在查找表中有 ID 有用吗?
提前致谢!非常感谢您的专业知识。
【问题讨论】:
标签: database asp.net-mvc-4 ef-code-first fluent