财产添加XML属性在DB首先
问题描述:
实体框架数据库第一
public partial class Departments
{
public string Name_Department { get; set; }
public int Department_ID { get; set; }
}
当我刷新模型文件中的所有修改被清除
我需要:
如何添加属性属性以序列化XML如:
[Serializable]
[XmlType(nameof(Departments))]
public partial class Departments
{
[XmlAttribute("Name_Department")]
public string Name_Department { get; set; }
[XmlAttribute("Department_ID")]
public int Department_ID { get; set; }
}
答
您必须在属性窗口中将生成的属性设置为私有。然后,您必须创建引用私有属性并将属性添加到它们的新公共属性。在属性窗口中,您还可以重命名你现在的私人属性,以便你能说出你的公共属性和原来一样的:
生成的代码:
public partial class Departments
{
private string Name_DepartmentCore { get; set; }
private int Department_IDCore { get; set; }
}
自定义代码(在C#7.0):
[Serializable]
[XmlType(nameof(Departments))]
public partial class Departments
{
[XmlAttribute("Name_Department")]
public string Name_Department {
get => Name_DepartmentCore;
set => Name_DepartmentCore = value;
}
[XmlAttribute("Department_ID")]
public int Department_ID {
get => Department_IDCore;
set => Department_IDCore = value;
}
}
答
当您首先使用数据库时,即根据设计生成您的类模型。
解决方案1.微软首先放弃了对数据库的支持,并且edmx被取消了。一种解决方案是使用CODE FIRST代替。这将允许你用属性装饰你的POCO类。
解决方案2.创建一个仅用于XML序列化的并行模型。
+0
这个数据库很旧(甚至有* .dbf)。不幸的是,我不能在那里改变任何东西。必须适应这个事实。谢谢 –
一个非常有趣的方式。谢谢 –
请注意,如果您想要使用这些属性进行查询,您仍然需要访问原始属性。 – Sefe