2014-10-21 6 views
0

Использование Microsoft Entity Framework и MVC имеет следующее требование: реализовать объект, в котором некоторые свойства принадлежат таблице в базе данных SQL-сервера, а другие свойства загружаются из столбца XML на в той же таблице я хотел бы создать свойства, чтобы выставить некоторые значения, хранящиеся в XML, в представлении MVC и контроллере.Гибридная реализация для объекта и MVC

Предположим, у меня есть «Ноутбук» Entity, загрузка столбцов из таблицы, например процессора и бара; для гибкости эта таблица имеет столбец XML с большим количеством данных, я бы хотел показать с помощью свойств «Ноутбука» некоторые значения в XML, например, dvd, bluetooth, usb и т. д.

Я попытался использовать частичный класс с именем «Ноутбук», пытаясь объявить и добавить подпрограммы для обслуживания дополнительных свойств, однако это не работает, дополнительные свойства, объявленные в этом частичном классе, не видны в объекте «Ноутбук» для верхнего таких как MVC.

Моя проблема не связана с извлечением значений из XML, больше полагайтесь на то, как объединить Entity с настраиваемыми свойствами, созданный объект автоматически обновляет модель, мне нужен способ определить другие свойства где-нибудь иначе, не будет автоматически удалена IDE во время разработки, поэтому моя первая мысль была частичным классом.

Любые идеи?

+0

Пожалуйста, покажите минимальный код, который воспроизводит проблему. –

ответ

0

Вам понадобится какой-то объект dynamic, поэтому попробуйте класс ExpandoObject. Возможно, вам придется использовать ExpandoObject совместно с деревьями выражения LINQ для переноса данных в столбце XML и преобразования его в массив fieldname, fieldvalue или другой динамический объект.

Here's an example, которые могли бы соответствовать вашему случаю использования: