我首先使用EF代码作为我的项目的ORM技术,其中Domain模型有很多原始数据类型的集合.
存储原始数据类型集合的可能解决方案是什么,这是最佳解决方案
我知道的解决方案如下:
1.**创建一个不同的类,它将保存我们想要使用的集合的原始数据类型的属性,而不是直接使用该原始类型的集合使用新创建的类的集合,**对此场景的更好解释是****
Entity Framework Code First primitive collections
2.在单个列中将原始数据表的列表序列化,并使用一些分隔符来提取项目,并编写自己的逻辑以将原始数据类型列表保存为单个列,并使用逻辑将接收到的数据库值解析回相应的数据类型集合.
所以,上面两个是我已知的解决方案但是我想知道哪个是存储原始数据类型集合的最佳解决方案
最佳答案 在阅读并尝试了这么多选项之后,我发现了这一点
上述两种策略都会增加复杂性,数据检索和保存.
因此,最好的方法(在我看来)是将原始数据类型的集合序列化为数据库中的字节数组并反序列化数据数据库:
Class Sample
{
[NotMapped]
Public List<String>Strings { get; set; }
Public Byte[] StringBytes
{
get
{
var binaryfomrate = new BinaryFormatter();
var memoryStream = new MemoryStream();
binaryFormatter.searilze(ms, this.Strings);
return ms.ToArray();
}
set
{
var binaryfomrater = new BinaryFormatter();
this.Strings = binaryFormtter.Deserialize(value) as List<String>();
}
}
}