2

我们有一个包装了MathNet.Numerics矩阵的类:

public class Matrix
{
    public MathNet.Numerics.LinearAlgebra.Matrix<double> _matrix { get; set; }

    public int? DatabaseId { get; set; }

    // ...
}

我们需要使用Entity FrameworkMatrix将其存储在数据库中。实体框架目前忽略此属性。我正在使用 Fluent API 映射,目前已设置:

modelBuilder.Entity<Matrix>()
       .HasKey(matrix => matrix.DatabaseId);

如何使用 Entity Framework 将我的 Math.Net Numerics Matrix 包装器持久保存在数据库中,包括_matrix属性?表结构应该是什么?(我正在使用Npgsql,所以我必须自己构建表。)提前致谢。

4

1 回答 1

1

您可能需要某种代理以合理的方式执行此操作,因此它实际上将字符串或二进制 blob 写入数据库(而不是尝试分解类型及其成员)。

例如,您可以将其序列化为MatrixMarket格式(字符串,可选择压缩为二进制流;非常简单,但您可能会丢失一些精度),或MATLAB(二进制流;目前仅支持旧的 Level-5 格式)。

于 2015-09-23T15:53:13.917 回答