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