Pola XML z kodem struktury encji Najpierw
Używam Entity Framework z modelem Code First (projekt dla zwierząt domowych i uwielbiam edytować proste klasy i automatycznie aktualizować mój schemat). Mam taką klasę:
[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; }
}
Przydatne jest przechowywanie wielokątów w bazie danych i możliwość wysyłania zapytań o ich teksturę. Z drugiej strony, jeśli zapisuję wielokąt z 5000 punktów do bazy danych, uruchomienie tej liczby wstawek trwa wiecznie i szczerze mówiąc, nigdy nie będę odpytywał Punktów, z wyjątkiem pobierania pojedynczego wielokąta.
To, co chciałbym zrobić, to pozbyć się „PolygonId” w klasie „Point”, pozbyć się tabeli „Points” i mieć tabelę Polygon podobną do
PolygonId int PK
Texture varchar(255)
Points XML
Następnie punkty mają być serializowane do łańcucha, który jest zapisywany bezpośrednio w tabeli, a następnie ponownie rozpakowywany do tablicy punktów. Czy istnieje sposób na zrobienie tego przez EF lub napisanie niestandardowego serializatora / deserializatora dla pola, więc przynajmniej wydaje się to automatyczne, gdy jest używane w całej bazie kodu?
Dzięki,
Dan