我是新来的asp.net mvc和实体框架代码第一个apporach,我并不那么热衷于数据库。我提前为错误的术语或我理解事物的方式表示道歉。我如何使用实体框架使用实体框架代码优先使用Fluent API
现在的问题。我有以下型号:
用户模型
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映射用户ID的方式和RoleId添加到具有一对多关系的User_Role表中,用户可以具有多个角色:
我认为在this question中完成的工作是正确的方法,但作者使用了多对多连接。我试过这种方式,但与u => u.users部分给我一个错误(我假设这是因为模型中没有用户属性,所以他回答了他的问题,但没有更新他的问题?)
我的问题:什么是确切的流利api代码让Ef为我生成这张表?
事情我不能确定:(随意忽略)
- 这是我的问题的正确方法?
- 一旦我有查找表,这仍然是正确的方式来声明我的导航属性,所以我可以稍后使用它像user.Roles和检索他们的角色?
- 哪里将用户模型中的RoleId填充来自Roles表或User_Role?
- 在查找表中有ID有什么用处?
在此先感谢!我非常感谢你的专业知识。
非常感谢清理东西对我来说!现在它正在以正确的方式工作。 – edgarpetrauskas
很好的答案!有一点与OP不匹配的是UserRoles中没有ID字段(请参阅OP的关系图中的User_Role)。 –