如何在运行时定义C#对象?

Zac*_*ott 5 c# dynamic object

我们将XML代码存储在单个关系数据库字段中以解决实体/属性/值数据库问题,但是我不希望这会破坏我的域建模,DTO和存储库的阳光.我无法绕过EAV/CR内容,但我可以选择如何存储它.问题是我将如何使用它?

如何在C#中的运行时将XML元数据转换为类/对象?

例如:

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;}
     ...
}
Run Code Online (Sandbox Code Playgroud)

并在ActionMethod中:

makePizzaActionMethod (Pizza myPizza) {
    if (myPizza.isValid() ) {  // this is probably ModelState.isValid()...
        myRecipeRepository.Save( myPizza);
        return View("Saved");
    }
    else
        return View();
}
Run Code Online (Sandbox Code Playgroud)

Foo*_*ole 9

ExpandoObject你在找什么?

表示一个对象,其成员可以在运行时动态添加和删除.