我们有一个包装MathNet.Numerics矩阵的类:
public class Matrix
{
public MathNet.Numerics.LinearAlgebra.Matrix<double> _matrix { get; set; }
public int? DatabaseId { get; set; }
// ...
}
我们需要使用Entity Framework将此Matrix
存储在数据库中。实体框架目前忽略了这个属性。我正在使用Fluent API映射,目前正在进行此设置:
modelBuilder.Entity<Matrix>()
.HasKey(matrix => matrix.DatabaseId);
如何使用Entity Framework将Math.Net Numerics Matrix包装器保存在数据库中,包括_matrix
属性?表结构应该是什么?(我正在使用Npgsql所以我必须自己构建表。)提前感谢。
答案 0 :(得分:1)
您可能需要某种代理才能以合理的方式执行此操作,因此它实际上会将字符串或二进制blob写入数据库(而不是尝试分解类型及其成员)。
例如,您可以将其序列化为MatrixMarket格式(字符串,可选地压缩为二进制流;非常简单,但您可能会失去一些精度),或MATLAB(二进制流;目前只有支持旧的Level-5格式。)