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

The*_*Pea 6 c# xml entity-framework

我在使用.NET Framework 4.5的C#项目中使用Entity Framework 6.0.0版.我有一个Filing具有SQL Server列的类,该列XmlContentxml数据类型.我有数据库优先实体框架我主要用于保存Filing表中(我目前不读回那些行,如果这有所不同)

我已经阅读了这些关于使用Entity Framework保存到XML列的"字符串"支持属性的帖子,如此此处所述

我的XML声明看起来像这样

<?xml version="1.0" encoding="UTF-8"?>
....
Run Code Online (Sandbox Code Playgroud)

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

public partial class Filing
{
    // ...
    public string XmlContent { get; set; }
    // ...
}
Run Code Online (Sandbox Code Playgroud)

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

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

        }
        set
        {
            this.XmlContent = value.OuterXml;
        }
    }
    // ...
}
Run Code Online (Sandbox Code Playgroud)

当我这样做:

eFileEntities.Filings.Add(filingWithUtf8XmlString);
eFileEntities.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

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

"XML Parsing : line 1 , character 38, unable to switch the encoding."
Run Code Online (Sandbox Code Playgroud)

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

有任何想法吗?