Не напрямую.EF может отобразить отношение только так, как вы его видите в данный момент, но вы можете добавить свое собственное поведение к своей частичной части сущности.Простой способ - это что-то вроде
public partial class Users
{
public IEnumerable<PrioritizedGroup> Groups
{
get
{
return UserGroups.Select(ug => new PrioritizedGroup
{
Priority = ug.Priority,
Id = ug.Group.Id,
Name = ug.Group.Name,
Description = ug.Group.Description
})
.OrderBy(g => g.Priority);
}
}
}
Чтобы сделать это напрямую в EF, вам понадобится продвинутая техника отображения, которая потребует от вас непосредственного изменения исходного кода EDMX (либо DefiningQuery, либо QueryView), и он сделает сущностьтолько для чтения (вам понадобятся хранимые процедуры для модификации).
Чтобы сделать коллекцию доступной для обновления пользователями, вам, вероятно, потребуется использовать ObservableCollection
и перенести все модификации, вызванные ObservableCollection
, на исходную UserGroups
коллекция.Если у вас реализовано что-то подобное , вы можете скрыть оригинальную коллекцию .