Измените свой инициализатор, синтаксис, который вы используете в настоящее время, предназначен для инициализатора коллекции, а не инициализатора объекта:
new Detail
{
CId = p.CId,
StateInstanceDate = p.InstanceDate,
StateName = p.StateName
};
Или используйте другой конструктор:
new Detail(p.CId, p.StateInstanceDate, p.StateName);
Я думаю, что вы упали в том, что компилятор достаточно умен, чтобы обрабатывать что-то вроде:
new Detail
{
p.CId,
StateInstanceDate = p.InstanceDate,
p.StateName
};
Путем вывода имен свойств через имена свойств типа источника. Обратите внимание, что вам нужно явно указать StateInstanceDate
, потому что InstanceDate
- это не то же самое.