
In users_roles entity, named UserRole, I want to have UserName property and 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 makeped < /Code> Свойства не существует в базе данных. На данный момент я использую метод .include () (нетерпеливая загрузка), но можно ли получить как вышеупомянутая функциональность (Filterint и т. Д., так и с нетерпением Quarders) одним способом?
edit 1: < /strong>
Я использую код первого < /code> стратегия создания модели.
Редактировать 2: < /strong >
ok, чтобы уточнить, Самый простой ответ - создать метод фильтра, подобный < /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