У нас есть класс, обертывающий матрицу MathNet.Numerics:
public class Matrix
{
public MathNet.Numerics.LinearAlgebra.Matrix<double> _matrix { get; set; }
public int? DatabaseId { get; set; }
// ...
}
Нам нужно сохранить это Matrix
в базе данных с помощью Entity Framework. В настоящее время Entity Framework игнорирует это свойство. Я использую сопоставление Fluent API и в настоящее время настроил это:
modelBuilder.Entity<Matrix>()
.HasKey(matrix => matrix.DatabaseId);
Как я могу использовать Entity Framework для сохранения моей оболочки Math.Net Numerics Matrix в базе данных, включая свойство _matrix
? Какой должна быть структура таблицы? (я использую Npgsql, поэтому мне нужно построить таблицы себя.) Заранее спасибо.
byte[]
(представляющееMatrix<double>
), это означает, что вы сохраняете его как двоичный файл в базе данных. Вам нужно другое несопоставленное свойство (или даже вспомогательный метод) для синтаксического анализа/десериализацииbyte[]
вMatrix<double>
. Однако это десериализованное свойство или вспомогательный метод нельзя использовать в запросе Linq-To-Entity. - person Hopeless   schedule 23.09.2015