The*_*Pea 6 c# xml entity-framework
我在使用.NET Framework 4.5的C#项目中使用Entity Framework 6.0.0版.我有一个Filing具有SQL Server列的类,该列XmlContent是xml数据类型.我有数据库优先实体框架我主要用于将行保存到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)
我已经阅读了有关我遇到的错误的帖子,"无法切换编码"
SqlXml数据类型,因此无需担心编码.但我不知道如何在Entity Framework的上下文中这样做encoding="utf-16"这些答案建议,EntityFramework可以saveChanges() 没有错误,但我想避免(如果可能):
有任何想法吗?
| 归档时间: |
|
| 查看次数: |
1643 次 |
| 最近记录: |