我们有一个包装 MathNet.Numerics 的类矩阵:
public class Matrix
{
public MathNet.Numerics.LinearAlgebra.Matrix<double> _matrix { get; set; }
public int? DatabaseId { get; set; }
// ...
}
我们需要使用 Entity Framework 将此矩阵
存储在数据库中. Entity Framework 目前忽略此属性。我正在使用 Fluent API 映射,目前已设置:
modelBuilder.Entity<Matrix>()
.HasKey(matrix => matrix.DatabaseId);
我如何使用 Entity Framework 将我的 Math.Net Numerics Matrix 包装器持久保存在数据库中,包括 _matrix
属性?表结构应该是什么?(我使用的是 Npgsql,所以我必须自己构建表。)提前致谢。
最佳答案
您可能需要某种代理以合理的方式执行此操作,因此它实际上将字符串或二进制 blob 写入数据库(而不是尝试分解类型及其成员)。
例如,您可以将其序列化为 MatrixMarket格式(字符串,可选择压缩为二进制流;非常简单,但可能会降低一些精度),或 MATLAB (二进制流;目前仅支持旧的 Level-5 格式)。
关于c# - Entity Framework 6 保留 MathNet.Numerics 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32743053/