Как получить доступ к данным в таблице внешнего ключа из EntityDataSource? - PullRequest
2 голосов
/ 25 января 2012

У меня есть таблица, определенная в моей модели Entity. У меня также есть свойства навигации внешнего ключа, определенные в таблицах модели.

Users
- UserID
- Username
- UserGroupID

Groups
- GroupID
- GroupName

У меня есть сетка, подключенная к EntityDataSource, которая извлекает и отображает таблицу Users. Вместо того, чтобы отображать столбец идентификаторов UserGroupID для каждого пользователя, мне нужно отобразить соответствующее GroupName. Существует ли простой способ получения GroupName из объекта User, поскольку они связаны в модели объектов?

Спасибо! Kevin

Ответы [ 2 ]

3 голосов
/ 26 января 2012

В этом руководстве GridView, отображающий таблицу «Инструкторы», делает то, что вы пытаетесь сделать, с EntityDataSource и GridView (отображать значение из свойства навигации):

http://www.asp.net/web-forms/tutorials/getting-started-with-ef/the-entity-framework-and-aspnet-getting-started-part-4

1 голос
/ 25 января 2012

Вы должны установить связь для каждого объекта. Для Code First это должно выглядеть примерно так:

class User {
  // user properties...

  [ForeignKey("UserGroupID")]
  public virtual Group Group { get; set; }
}

class Group {
  // group properties...
  public virtual ICollection<User> Users { get;set; }
}

Тогда вы можете просто позвонить:

user.Group.GroupName
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...