EF代码首先是4.1 xml XElement

时间:2011-10-08 15:28:39

标签: xml entity-framework ef-code-first xelement

如何将xml表列映射到POCO对象中的XElement属性。

有没有办法使用复杂类型映射它,或者为EF框架提供某种转换函数,以便我可以使用XElement作为属性类型并将其用作数据库中的xml。

我希望流畅的api有一些方法来映射这个,但是我的搜索没有产生任何结果,而且看起来这个问题并不像我想象的那么普遍。

感谢。

1 个答案:

答案 0 :(得分:4)

没有不支持,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目前还没有提供更好的东西。