2012-08-01 84 views

回答

1

也許你應該在Model類中有另一個字符串屬性來保存字符串集合的JSON represantation。並且該屬性將映射到您的表。不要將Collection屬性映射到您的表。這樣

public class Customer 
{ 
    public int ID { set;get;} 
    public string JsonData { set;get;} 
    [NotMapped] 
    public ICollection<string> Items { set;get;} 
} 

而且數據saivng到表之前的東西,你需要通過閱讀Items PROPERT值來填充JsonData屬性值。

JavaScriptSerializer ser= new JavaScriptSerializer();  
string JsonData= ser.Serialize(Items); 

Bytheway,您確定要將JSON表示法存儲在表中嗎?爲什麼不使用主 - 細節方法。將JSON數據存儲到規範化的表中。無論何時您想要構建JSON,都可以在C#中完成。

+0

是的,這可能是一個解決方法,但我想知道是否有一些*官方的方法*。在添加或更新時就像攔截器一樣,所以您可以轉換和自定義一些實體屬性持久性。 – 2012-08-01 12:47:00

+0

關於您的「更新」。這是另一種解決方法。在NHibernate中,我能夠實現自定義類型,因此您可以使用常規屬性並定義如何將它們存儲在數據庫中。我正在尋找這樣的東西。 – 2012-08-01 13:48:53