【发布时间】:2014-08-26 16:39:36
【问题描述】:
好的,所以我现在有点卡住了。我们已经使用 EF、fluent api 等创建了一个 MVC 应用程序,目前我在将新记录导入连接表时遇到了一些麻烦。
数据库表结构
用户
(pk)ID
用户名
密码哈希
等等
等等
DDR角色
(pk)ID
(fk)RoleId
(fk)DDRId
用户角色
(pk,fk)用户ID
(pk,fk)DDRRoleId
角色
(pk)ID
姓名
DDR
(pk)ID
姓名
类结构
表的类是您期望的具有列属性的类,例如用户有一个ICollection<DDRRole> DDRRole,DDRRole 有一个ICollection<User> User
这里是 fluent api 部分(不是全部,而是处理连接表的部分):
modelBuilder.Entity<User>()
.HasMany(uc => uc.DDRRole)
.WithMany(dd => dd.User)
.Map(x =>
{
x.MapLeftKey("UserID");
x.MapRightKey("DDRRoleID");
x.ToTable("UserRole");
});
所以出了问题的是,当我们创建一个新用户时,这部分很好,但是当我们创建新用户时,我们想给该用户一个 DDRRole(它已经在数据库中),然后它将得到添加到 UserRole 表中。我已经搜索了很多关于如何使用流利的 api 和其他东西做的事情,但还没有让它工作。
提前感谢您的帮助
【问题讨论】:
标签: c# sql asp.net-mvc entity-framework ef-fluent-api