【发布时间】:2015-02-25 14:18:32
【问题描述】:
我有一个类似下面的类,由实体框架自动生成,基于我们的数据库:
public partial class TB_Cliente
{
public int IDCliente { get; set; }
public string Nome { get; set; }
// other properties
}
我正在使用DataContractJsonSerializer,我需要在序列化中更改属性的名称。例如,属性IDCliente 必须像ClientID 一样序列化。
我不能在属性顶部使用[DataMember],因为该类是自动生成的,以后任何更改都会再次生成该类,这些更改将丢失。
过去,当我想使用数据注释时,我也遇到过同样的问题。我找到了以下解决方案,创建了另一个文件并使用了一个完美的界面:
public interface ITB_Cliente
{
[Required]
string Nome { get; set; }
// other properties
}
[MetadataType(typeof(ITB_Cliente))]
public partial class TB_Cliente : ITB_Cliente
{
}
但是这个解决方案现在对我没有帮助,因为(据我所知)这个属性必须直接在类中设置。我试过在界面里设置,还是不行。
在我的情况下,有没有办法更改序列化中的属性名称?任何帮助将不胜感激。
【问题讨论】:
标签: c# entity-framework serialization