0

我有一个 Linq to Entities 查询,我想选择一些特定的列并将新对象存储到预定义的对象中。但是,我收到了错误

<object>不包含采用 0 个参数的构造函数。

不知道这里出了什么问题...

也不确定这是否是最好的方法,或者使用匿名类型是否比创建工资单对象更好。

Linq 查询

public Payroll GetTestCasePayroll(decimal testScenarioID) //not sure if object is correct return
{
    Payroll instance = (from o in DbContext.UI_OnDemandCheckHeader
                        where o.TestScenarioID == testScenarioID
                        select new Payroll(o.PayEntityCode, o.PayrollYear, o.PayrollNumber)).First();
                        //{ PayEntityCode = , PayrollYear = o.PayrollYear, PayrollNumber = o.PayrollNumber }).First();

    return instance;
}

工资单对象

class Payroll
{
    private string _payEntityCode;
    private decimal _payrollYear;
    private string _payrollNumber;

    public Payroll(string payEntityCode, decimal payrollYear, string payrollNumber)
    {
        PayEntityCode = payEntityCode;
        PayrollYear = payrollYear;
        PayrollNumber = payrollNumber;
    }

    public decimal PayrollYear
    {
        get { return _payrollYear; }
        set { _payrollYear = value; }
    }

    public string PayEntityCode
    {
        get { return _payEntityCode; }
        set { _payEntityCode = value; }
    }

    public string PayrollNumber
    {
        get { return _payrollNumber; }
        set { _payrollNumber = value; }
    }
4

1 回答 1

4

您的 Payroll 类需要一个不带参数的构造函数,例如

Public Payroll() { }

Linq 通过创建输出类的空实例然后在每个属性上使用设置器来工作。它只使用一个空的构造函数。

于 2012-08-30T19:31:39.507 回答