我正和某人谈论实体框架,我还没有真正参与其中,但我想学习它.但是,我是否应该学习它仍然有点困惑.我听说很多人说你不应该使用实体框架,但我没有听到任何争论为什么会这样.
所以我的问题是,与其他产品相比,使用实体框架的专业和利益是什么.喜欢
在易用性,可测试性,语义方面......
我知道有一些重复的 问题.但他们都有点过时(2008,2009),说实话,这些论点也缺乏一些东西.我知道实体框架4.0可用,但我还没有找到一个好的(完整的)比较.
这里的一些好人通过解释不同框架的一些细节来回答我的问题.认为将它们展示在这里以供将来参考可能会很好.
我在使用.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)