实体框架存储XML数据类型; “无法切换编码”错误

时间:2015-09-07 17:27:19

标签: c# xml entity-framework

我在使用.NET Framework 4.5的C#项目中使用Entity Framework 6.0.0版。我有一个类Filing,其SQL Server列XmlContentxml数据类型。我有数据库优先实体框架我主要用于保存行到Filing表(我当前不读那些行,如果这样做的话差异)

我已阅读这些有关“字符串”支持属性的帖子,以使用Entity Framework保存到XML列,如herehere所述

我的XML声明如下所示

<?xml version="1.0" encoding="UTF-8"?>
....

我的实体框架自动生成(数据库优先)如下所示:

public partial class Filing
{
    // ...
    public string XmlContent { get; set; }
    // ...
}

使用我的自定义分部类(保存到字符串属性...):

public partial class Filing
{
    [NotMapped]
    public XmlDocument XmlDocument
    {
        get
        {
            var xmlDocument = new XmlDocument();
            xmlDocument.LoadXml(this.XmlContent);
            return xmlDocument;

        }
        set
        {
            this.XmlContent = value.OuterXml;
        }
    }
    // ...
}

当我这样做时:

eFileEntities.Filings.Add(filingWithUtf8XmlString);
eFileEntities.SaveChanges();

我得到一个异常,其InnerException(最终)读作:

"XML Parsing : line 1 , character 38, unable to switch the encoding."

我已经阅读了有关我遇到的错误的帖子,“无法切换编码”

有什么想法吗?

0 个答案:

没有答案