entity-framework - 首先在 Entity Framework 代码中存储原始数据类型集合的最佳方法

标签 entity-framework entity-framework-4 ef-code-first entity-framework-4.1 entity-framework-5

我首先使用 EF 代码作为我的项目的 ORM 技术,其中域模型具有如此多的原始数据类型集合。
存储原始数据类型集合的可能解决方案是什么,最好的解决方案是什么

我知道的解决方案如下:

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>();
        }
    }
}

关于entity-framework - 首先在 Entity Framework 代码中存储原始数据类型集合的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15739852/

相关文章:

c# - Linq:Group By 没有生成 Group by Sql

c# - 来自 2 个不同数据上下文的 LINQ EF Join 查询

c# - 使用 Entity Framework 查找

entity-framework - 无法检查 Entity Framework CTP5 模型兼容性,因为数据库不包含模型元数据

asp.net-mvc - 在 MVC Web 应用程序中跨存储库共享 DbContext

asp.net-mvc-3 - 使用接口(interface)和 EF Fluent API

linq - 如何在 LINQ 中使用 Math.X 函数?

c# - 如何使用 EF4 Code-First 一次创建两个关联实体

.net - 将 DataContext 对象作为 'ref' 参数传递有什么缺点吗?

c# - 首先是 ADO.NET 实体数据模型 - 生成 DB Firebird .NET 提供程序