1
假設您的實體具有類型爲ICollection<string>
的屬性,並且我想將其作爲varchar
以JSON格式存儲在SQL Server中。實體框架:以json格式存儲實體屬性
如何實現這一目標?
預先感謝您。
假設您的實體具有類型爲ICollection<string>
的屬性,並且我想將其作爲varchar
以JSON格式存儲在SQL Server中。實體框架:以json格式存儲實體屬性
如何實現這一目標?
預先感謝您。
也許你應該在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#中完成。
是的,這可能是一個解決方法,但我想知道是否有一些*官方的方法*。在添加或更新時就像攔截器一樣,所以您可以轉換和自定義一些實體屬性持久性。 – 2012-08-01 12:47:00
關於您的「更新」。這是另一種解決方法。在NHibernate中,我能夠實現自定義類型,因此您可以使用常規屬性並定義如何將它們存儲在數據庫中。我正在尋找這樣的東西。 – 2012-08-01 13:48:53