Поля XML с использованием Entity Framework Code

Я использую Entity Framework с моделью Code First (проект для домашних животных, и мне нравится редактировать простые классы и обновлять мою схему автоматически). У меня есть класс, как следует:

[Table("Polygons")]
public class Polygon
{
    public int PolygonId { get; set; }
    public String Texture { get; set; }

    public virtual ICollection<Point> Points { get; set; }
}

[Table("Points")]
public class Point
{
    public int PolygonId { get; set; }
    public double X { get; set; }
    public double Y { get; set; }
}

Для меня полезно хранить полигоны в базе данных и иметь возможность запрашивать их текстуру. С другой стороны, если я сохраняю полигон с 5000 точками в базе данных, то для выполнения такого количества операций вставки требуется вечность, и, честно говоря, я никогда не собираюсь запрашивать точки, кроме как для извлечения отдельного многоугольника.

Я хотел бы избавиться от «PolygonId» в классе «Point», избавиться от таблицы «Points» и сделать так, чтобы таблица «Polygon» выглядела примерно так

PolygonId int PK
Texture varchar(255)
Points XML

А затем пусть точки просто сериализуются в строку, которая сохраняется непосредственно в таблицу, но не сериализуется обратно в массив точек. Есть ли способ заставить EF сделать это или написать собственный сериализатор / десериализатор для поля, так что, по крайней мере, он кажется автоматическим при использовании по всей базе кода?

Спасибо,

Дэн

Ответы на вопрос(1)

Ваш ответ на вопрос