У нас есть XML-код, хранящийся в одном поле реляционной базы данных, чтобы обойти проблемы с базой данных Entity / Attribute / Value, однако я не хочу, чтобы это испортило мое моделирование доменов, DTO и солнечный свет репозитория. Я не могу обойти содержимое EAV / CR, но я могу выбрать, как его хранить. Вопрос, как бы я это использовал?
Как я могу превратить метаданные XML в класс / объект во время выполнения в C #?
Например:
XML будет описывать, что у нас есть рецепт еды, который имеет различные атрибуты, но обычно похожи, и один или несколько атрибутов при приготовлении еды. Сама еда может быть буквально чем угодно и иметь любой тип сумасшедшего приготовления. Все атрибуты ищутся и могут ссылаться на существующую информацию о питании.
// <-- [Model validation annotation goes here for MVC2]
public class Pizza {
public string kind {get; set;}
public string shape {get; set;}
public string city {get; set;}
...
}
и в ActionMethod:
makePizzaActionMethod (Pizza myPizza) {
if (myPizza.isValid() ) { // this is probably ModelState.isValid()...
myRecipeRepository.Save( myPizza);
return View("Saved");
}
else
return View();
}