C# EF延迟加载-如何仅返回specyfic值

C# EF延迟加载-如何仅返回specyfic值,c#,entity-framework,asp.net-mvc-4,C#,Entity Framework,Asp.net Mvc 4,一个简单的问题-如何在只延迟加载集合的specyfic元素的情况下返回 public virtual ICollection<Attachment> Attachments { get { return this.Attachments.Where(x => x.del != true) as ICollection<Attachment>; } set {

一个简单的问题-如何在只延迟加载集合的specyfic元素的情况下返回

    public virtual ICollection<Attachment> Attachments
    {
        get
        {
            return this.Attachments.Where(x => x.del != true) as ICollection<Attachment>;
        }
        set {
            this.Attachments = value;
        }
    }
公共虚拟ICollection附件
{
得到
{
将this.Attachments.Where(x=>x.del!=true)作为ICollection返回;
}
设置{
这个。附件=值;
}
}
我只想返回这些
,其中
del!=正确

使用此代码,我有一个错误:

“System.StackOverflowException”类型的未处理异常 在EntityFrameworkDynamics代理中发生

无法计算表达式,因为当前线程位于堆栈中 溢出状态

为什么??我怎么做

关于公共虚拟ICollection

public virtual ICollection<Attachment> Attachments
{
    // defines get_Attachments
    get
    {
                    // calls get_Attachments
        return this.Attachments.Where(x => x.del != true) as ICollection<Attachment>;
    }
看来你没有。您应该安装试用版。

公共虚拟ICollection


看来你没有。您应该安装试用版。

此。附件
指的是您的
附件
属性。它需要调用您的
get
方法。它需要调用您的
get
方法。它需要调用您的
get
方法。获取R#。它会告诉您该方法在所有路径上都是递归的,您必须在这里有一个支持字段。现在你处于无限递归中,直到堆栈溢出。哦,对我来说太早了-我忘记放
\u附件而不是
附件
。。无论如何,谢谢大家:)
这个。附件
指的是您的
附件
属性。它需要调用您的
get
方法。它需要调用您的
get
方法。它需要调用您的
get
方法。获取R#。它会告诉您该方法在所有路径上都是递归的,您必须在这里有一个支持字段。现在你处于无限递归中,直到堆栈溢出。哦,对我来说太早了-我忘记放
\u附件而不是
附件
。。无论如何,谢谢大家:)