Я признаю, что никогда не использовал высшей математики в программировании кроме некоторых любимых проектов, которые являются о математических темах.
Тем не менее я действительно наслаждаюсь к сотрудничеству с людьми, которые достаточно ярки к grok математике. Освоение сложного и трудного материала помогает заставить Ваш мозг в форму решать сложные и трудные проблемы программирования.
Что касается кода, который я использую в своем проекте, я бы определил ваши отношения manyTomany следующим образом:
public UsersMap()
{
...
HasManyToMany(x => x.Roles)
.WithTableName("UserInRoles")
.WithParentKeyColumn("Usernamepk")
.WithChildKeyColumn("RoleIdpk");
}
public RolesMap()
{
...
HasManyToMany(x => x.Users)
.WithTableName("UserInRoles")
.WithParentKeyColumn("RoleIdpk")
.WithChildKeyColumn("Usernamepk");
}
Такое определение работает для меня. Сначала проверьте это, затем украсьте LazyLoading и некоторыми другими свойствами.