【发布时间】:2018-06-12 17:03:16
【问题描述】:
我正在使用 .Net MVC 和实体框架。 在我的模型类中,我有这两个属性:
public string Content { get; set; }
[NotMapped]
public dynamic DynamicContent { get { return Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(this.Content); } }
“内容”包含 JSON 字符串,DynamicContent 是基于 JSON 字符串的动态属性。
我可以修改动态属性的内容吗? 例如:我可以读取这样的值
动态内容.title
但是如何从控制器设置它的值?
DynamicContent.title = "myvalue" 不起作用。
【问题讨论】:
-
你的解决方案在三个方面存在问题:在实体对象中添加JSON序列化(表示层关注点),将实体对象传递给控制器以及
dynamic的使用。从实体对象创建模型对象并使用标题属性对其进行扩展。在转换为模型对象期间,您可以处理动态对象创建的细节。我确定您的域问题不需要涉及dynamic的解决方案。 -
我创建了一个表单构建器,因此必须在运行时根据表单的字段和值构建模型。
标签: c# asp.net-mvc