你能告诉实体框架某些属性是否转换为SQL中的某些名称?

时间:2016-06-14 11:53:37

标签: entity-framework linq-to-sql

鉴于我有一些具有层次结构的实体:

public class Question : BaseElement
{
    public Section Section => (Section)Parent;
}

public class Section: BaseElement
{
    public OtherThing OtherThing => (OtherThing)Parent;
}

public abstract class BaseElement
{
    public int Id { get; set }
    public virtual BaseElement Parent { get; protected set; }
}

考虑到我有问题的时候,我会像这样写一些linq:

var questions = dataContext.Questions.Where(q => q.Section.Id == 5);

抱怨Question没有Section。这是正确的,它实际上有一个父。是否有一个属性可以添加到Section上的Question属性中,这样当它在Linq中使用时,它实际上会转换为" Parent"在SQL?

我不希望事先.ToList()我的查询,因为这样效率低下而且我不想说dataContext.Questions.Where(q => q.Parent.Id == 5);,因为这不清楚,特别是当我将会最多连续五次(Question.Parent.Parent.Parent等...);

我尝试[Column("Parent")],但仍在寻找Section

0 个答案:

没有答案