LINQ错误:“ <对象>没有无参数的构造函数。”

vai*_*dil 2 c# linq entity-framework

我有一个GetMS()如下定义的类方法,但是当调用该方法时,出现一个错误,说明'SLRD' has no parameterless constructor.我什至不理解为什么甚至调用了无参数构造函数。怎么了

public class SLR : BaseEntity
{
    // ...
    public virtual ICollection<SLRD> ChildRequests { get; set; }
}

public SLRD GetMS()
{
    return ChildRequests.First(c => c.Type == SLRTypes.MS);
}
Run Code Online (Sandbox Code Playgroud)

D S*_*ley 5

我不明白为什么甚至要调用无参数构造函数。

我的猜测是,您是ChildRequests通过Linq / EF查询懒散地填充的,因此直到对它们进行迭代之前,才创建对象(这是First方法的一部分)。那时,EF尝试使用不存在的无参数构造函数创建实例。