Некоторая справочная информация, я использую MVC3 w / EF & db первый метод, наряду с шаблонами Razor. Я передаю модель представления в представление, эта модель представления имеет несколько различных коллекций obj, я использую один из них для заполнения веб-сетки (wgSettings) в качестве параметра источника. Ниже приведен код, в котором я пытаюсь получить подробную информацию о связанной строке.
Подробности:
MyInfo - это словарь из модели представления,
item - анонимный объект строки, который используется веб-сеткой для заполнения строки
item.Value.Value - значение поля id объекта из словаря, который я хочу получить
MySettings является System.Data.Objects.DataClasses.EntityCollection, поэтому я могу использовать методы расширения, такие как Single (), FirstOrDefault () и т. Д.
с помощью быстрого просмотра я могу перемещаться по объекту и видеть ожидаемые значения, однако при отладке и доступе к view @ runtime я получаю следующую ошибку.
На линии:
"MySettings.Single @ Model.MyInfo [Guid.Parse (item.Value.Value)]. (). Значение"
отладчик говорит
'System.Data.Objects.DataClasses.EntityCollection' не содержит определения для 'Single', но когда я быстро просматриваю его, я получаю значение.
Ниже приведен код.
wgSettings.Column(header: "Value", columnName:"Value", canSort:true, format:
@<text>
@if (item.Value.Type == "Guid" && item.Value.Value != null) {
@Model.MyInfo[Guid.Parse(item.Value.Value)].MySettings.Single().Value
}
else if (item.Value.Type == "Boolean") {
@item.Value.Value
}
else {
@item.Value.Value
}
</text>