4
我使用實體框架與Code First模型(pet項目,我喜歡編輯簡單的類並讓我的模式自動更新)。我有一個類如下:實體框架代碼優先的XML字段
[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; }
}
我在數據庫中存儲多邊形,並能夠查詢他們的紋理是有用的。另一方面,如果我用5,000點保存一個多邊形到數據庫,它將永遠需要運行這麼多插入,並且說實話,除了檢索一個單獨的多邊形,我絕不會查詢點。
我很樂意做「點」類擺脫「PolygonId」的,擺脫了「點」表,並有多邊形查表像
PolygonId int PK
Texture varchar(255)
Points XML
而且然後讓這些點序列化爲直接保存到表中的字符串,然後將其反序列化爲一個點數組。有沒有辦法讓EF做到這一點,或者爲該領域編寫自定義序列化器/反序列化器,所以至少在整個代碼庫中使用它似乎是自動的?
感謝,
丹