EF 5 Codefirst: создание сложных навигационных свойств

Свойство Content класса Entry всегда должно иметь экземпляр.

Проблема заключается в том, что если я создаю новый экземпляр Content в конструкторе Entry, когда объект загружается из базы данных, EF не загружает значение из базы данных, поскольку Content!= Null (я предпочитаю!), Должен ли я проверять, является ли Content== ноль, прежде чем сохранить его в базе данных или другое (более элегантное решение) существует?

Мой код:

public class Entry : ContentEntityBase
{
    public Entry()
    {
        this.Tags = new List<Tag>();
        //this.Content = new Content(); <==== My problem
    }
}

public class Content : EntityBase
{
    public Content()
    {
        this.ContentVersions = new List<ContentVersion>();
    }

    public virtual ICollection<ContentVersion> ContentVersions { get; set; }
}

public abstract class ContentEntityBase :  EntityBase
{
    public Guid ContentId { get; set; }
    public virtual Content Content { get; set; }
}

public abstract class EntityBase
{
    public EntityBase()
    {
        this.Id = Guid.NewGuid();
    }
}

0 ответов

Другие вопросы по тегам