2

假设您有一个属性类型为 as 的实体,ICollection<string>我想将其存储为varcharJSON 格式的 SQL Server。

如何做到这一点?

先感谢您。

4

1 回答 1

1

可能您的模型类中应该有另一个字符串属性来保存字符串集合的 JSON 表示。并且该属性将映射到您的表。不要将 Collection 属性映射到您的表。像这样的东西

public class Customer
{
  public int ID { set;get;}
  public string JsonData { set;get;}
  [NotMapped]
  public ICollection<string> Items { set;get;}
}

并且在将数据保存到表之前,您需要JsonData通过读取属性值来填充属性Items值。

JavaScriptSerializer ser= new JavaScriptSerializer();    
string JsonData= ser.Serialize(Items);

顺便说一句,您确定要将JSON表示存储在表中吗?为什么不使用大师-细节方法。将 JSON 数据存储到规范化表中。每当您想重新构建 JSON 时,都可以在 C# 中完成。

于 2012-08-01T12:40:11.493 回答