Я создаю модель сущности, в которой я хочу поместить не сопоставленные свойства. Эти свойства существуют, чтобы упростить доступ к значениям из отношений. Показанная модель - просто простой пример.
in users_roles entity, название userroloe , я хочу иметь username rolename код .public class UserRole
{
public int Id { get; set; }
public int IdUser { get; set; }
public int IdRole { get; set; }
public User User { get; set; }
public Role Role { get; set; }
[NotMapped]
public string UserName
{
get { return User.Name; }
}
[NotMapped]
public string RoleName
{
get { return Role.Name; }
}
}
< /code>
Для меня важно для будущей фильтрации, данных о базе данных и т. Д. Я не настаиваю на таком решении. Это просто первая идея.
На данный момент, если я пытаюсь отфильтровать сущности по имени пользователя или rolename , у меня есть исключение, потому что Not Mopped Свойства не существует в базе данных. На данный момент я использую метод .include () < /code> (нетерпеливая загрузка), но возможно ли получить как выше вышеуказанная функциональность (Filterint и т. Д., так и с нетерпением Quarding) в одну сторону? Самый простой ответ - создать метод фильтра, подобный < /p>
public IQueryable Filter(IQueryable query, string userName, string roleName)
{
return query.Where(x => x.User.Name.Contains(userName) && x.Role.Name.Contains(roleName));
}
Подробнее здесь: https://stackoverflow.com/questions/325 ... y-in-query