Я создал модель Entity Framework 4.0 (DB-First), добавил свои частичные классы и использовал DataAnnotations
для них, чтобы иметь идеальный пользовательский интерфейс на клиенте.
У меня есть некоторые отношения между моими таблицами и я использовал DisplayColumn
поверх моих классов.например, у меня есть класс User
, который имеет атрибут [DataColumn("UserName")]
поверх класса.И класс Message
, который имеет "public User Sender" с атрибутом [Include]
поверх свойства.
Кроме того, я использовал .Include("User")
в своем DomainService
, чтобы загрузить пользователя, который связан с сообщением.
Но в моей таблице данных вместо UserName
, который я указал, я вижу User : (UserID)
(UserID = свойство ключа сущности пользователя).Я посмотрел на сгенерированный код в моем проекте SL, и он правильно украсил мой класс User
атрибутом DisplayColumn
.Но все же я не вижу UserName
в своей сетке.
Любая помощь будет принята с благодарностью.
Обновление: Вот мой вопрос в коде:
Как я уже говорил, Owner
, UserName
, MessageId
, UserId
были определены в моей автоматически сгенерированной модели.UserMeta
класс не имеет ничего особенного.
[MetadataType(typeof(MessageMeta))]
public partial class Message
{
}
public class MessageMeta
{
[Include()]
[Display(Name = "Belongs to", Order = 4)]
[Association("Message_User","MessageId","UserId",IsForeignKey = true)]
public virtual User Owner { get; set; }
}
[MetadataType(typeof(UserMeta))]
[DisplayColumn("UserName")]
public partial class User
{
}
В моем DomainService:
public IQueryable<Message> GetMessages()
{
return this.ObjectContext.Messages.Include("Owner");
}