0
如何將xml表列映射到POCO對象中的XElement屬性。EF代碼優先4.1 xml XElement
是否有方法使用複雜類型映射它,或者爲EF框架提供某種類型的轉換函數,以便我可以使用XElement作爲屬性類型並在數據庫中將其用作xml。
我希望流利的api有一些映射這個的方法,但是我的搜索沒有取得任何結果,而且似乎這個問題並不像我想象的那麼普遍。
謝謝。
如何將xml表列映射到POCO對象中的XElement屬性。EF代碼優先4.1 xml XElement
是否有方法使用複雜類型映射它,或者爲EF框架提供某種類型的轉換函數,以便我可以使用XElement作爲屬性類型並在數據庫中將其用作xml。
我希望流利的api有一些映射這個的方法,但是我的搜索沒有取得任何結果,而且似乎這個問題並不像我想象的那麼普遍。
謝謝。
不,沒有支持,fluen-API也不會幫助你。 EF也沒有像轉換函數那樣的東西(我簡單地稱之爲類型映射)。
您可以嘗試的是當需要轉換時通常使用的解決方法 - 您需要兩個屬性。一個將字符串和映射到您的XML列(我沒有嘗試它,但我希望它會工作),第二個將不映射XElement
。第二個屬性將從內部轉換爲第一個字符串屬性。例如:
public class YourEntity
{
public string MappedProperty { get; set; }
public XElmenet NotMappedProperty
{
get
{
return XElement.Parse(MappedProperty);
}
set
{
// Some validation
MappedProperty = value.ToString();
}
}
}
這並不好,它不會讓你的實體界面更好,但EF目前沒有提供更好的東西。
這不是我希望的答案。爲開源提供了一個很好的例子,因爲考慮到源代碼,我可能會在大約十分鐘內修復這個可怕的錯誤。 一些疏忽,在我看來,這只是馬虎,並沒有觸摸點,從而重寫默認行爲使情況變得更糟。 – Jim
@Jim:我不認爲這會很容易解決。我花了很多時間在Reflector學習EF代碼,這不是很好。 –
謝謝拉迪斯拉夫,我做了同樣的事情。幾年前,我花了很多時間對JBoss(Sql Server Support)進行了更改,並認爲它會大致相同。我得出了類似的結論。今天我買了反射器,決定讓我自己的EF庫進行必要的更改。我沒有放棄,但是在查看代碼之後我有些放氣。 – Jim