У меня есть отношение многие ко многим, определенное с помощью таблицы в MariaDB. Я пытаюсь использовать свойства навигации в Entity Framework Core для связанных объектов, но они не гидратированы.
roles
| role_id | role_name |
| 1 | Role-A |
| 2 | Role-B |
groups
| group_id | group_name |
| 1 | Group-A |
| 2 | Group-B |
role_to_group
| role_to_group_id | role_id | group_id |
| 1 | 1 | 1 |
| 2 | 2 | 1 |
| 3 | 2 | 2 |
Это класс
[Table(name: "role_to_group")]
public class RoleToGroup
{
[Column(name: "role_to_group_id")]
public long RoleToGroupId { get; set; }
[Column(name: "role_id")]
[ForeignKey("RGToRoles")]
public int RoleId { get; set; }
[Column(name: "group_id")]
public int UserGroupId { get; set; }
[Include]
public Role Role { get; set; }
[Include]
public UserGroup UserGroup { get; set; }
}
[Include]
- это пользовательский атрибут, предназначенный для гидратации свойств навигации с использованием шаблона, аналогичного DbContext.Set<T>().Include("property_name")
, с помощью метода расширения, который отображает T
и находит все свойства с атрибутом [Include]
, определенным для них.
Однако я не могу заставить это работать правильно. Свойства навигации Role
и UserGroup
возвращают ноль.
Что вы предлагаете, я делаю неправильно? Также, пожалуйста, дайте мне знать, если вам нужно больше деталей, чтобы добавить к вопросу !!