WebAPI序列化后,属性被自动加k__BackingField的问题

来源:互联网 发布:淘宝条码扫描 编辑:程序博客网 时间:2024/05/29 12:40

问题:接口返回数据中带有k__BackingField

解决办法:

1、添加引用:项目->右键->添加引用,搜索:System.Runtime.Serialization

2、将Model XX class 类中[Serializable] 替换成 [DataContract]。

3、把每一个要传送的成员声明为[DataMember]。

            

using System;using System.Collections.Generic;using System.ComponentModel;using System.ComponentModel.DataAnnotations;using System.ComponentModel.DataAnnotations.Schema;using System.Linq;using System.Runtime.Serialization;using System.Text;namespace Caxa.Weixiao.Action.Lib.Model{    //[Serializable]    [DataContract]    [Table("DictTrack")]    public class DictTrack    {        /// <summary>        /// 默认id        /// </summary>        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]        public int _Id { get; set; }        [Key]        /// <summary>        /// 流水号        /// </summary>        [DataMember]        [MaxLength(36, ErrorMessage = "")]        public string Id { get; set; }        /// <summary>        /// 行动类型名称        /// </summary>        [DataMember]        [MaxLength(50, ErrorMessage = "")]        [DefaultValue("")]        public string Name { get; set; }        /// <summary>        /// 备注        /// </summary>        [MaxLength(50, ErrorMessage = "")]        [DefaultValue("")]        public string Memo { get; set; }        /// <summary>        /// 创建人        /// </summary>        [MaxLength(36, ErrorMessage = "")]        [DefaultValue("")]        public string Cid { get; set; }        /// <summary>        ///创建时间        /// </summary>        public DateTime CDate { get; set; }        /// <summary>        /// 删除标识,0为正常,-1为状态,0正常,-1删除        /// </summary>        public EnumSysStatus SysStatus { get; set; }    }}

                                                                

阅读全文
0 0