Почему Linq нужен сеттер для свойства объекта «только для чтения»?

Я использую Linq DataContext.ExecuteQuery ("некоторую инструкцию sql") для заполнения списка объектов

var incomes = db.ExecuteQuery<IncomeAggregate>(sqlIncomeStatement(TimeUnit));

IncomeAggregate - это объект, который я создал для хранения результата записи этого запроса.

Одним из свойств этого объекта является YQM:

public int Year { get; set; }
public int Quarter { get; set; }
public int Month { get; set; }

public string YQM 
{ 
    get { return string.Format("Y{0}-Q{1}-M{2}", Year, Quarter, Month); } 
}
... more properties

Все компилируется нормально, но когда он выполняет Linq, я получаю следующую ошибку:

Не удается присвоить значение члену «YQM». Он не определяет сеттер.

Но ясно, что я не хочу его «устанавливать». Y, Q и M предоставляются запросом к базе данных. YQM НЕ предоставляется запросом. Мне нужно как-то изменить определение моего объекта? (Я только начал использовать Linq и все еще набираю скорость, так что это может быть очень просто)

5
задан Dick de Reus 21 July 2011 в 08:01
поделиться