如何使用Web API和Linq序列化部分类

时间:2014-02-27 13:42:52

标签: c# jquery linq serialization asp.net-web-api

我正在使用LINQ to SQL来生成类。我想写一些部分类来扩展它们的功能。我后来使用这些类作为WEBAPI中控制器的返回对象。问题是我无法获得我在jquery中的部分类中添加的成员。 LINQ生成的其他元素正确。 我想这必须对序列化做些什么。我将[Serializable]属性放在我的部分类上,但它不起作用......

一些用于详细说明的代码片段: LINQ生成的类如:

[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Categories")]
[global::System.Runtime.Serialization.DataContractAttribute()]
public partial class Category : INotifyPropertyChanging, INotifyPropertyChanged
{
    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CategoryID",      AutoSync=AutoSync.OnInsert, DbType="BigInt NOT NULL IDENTITY", IsPrimaryKey=true,     IsDbGenerated=true, UpdateCheck=UpdateCheck.Never)]
    [global::System.Runtime.Serialization.DataMemberAttribute(Order=1)]
    public long CategoryID
    {
    }
}

我的班级就像:

[Serializable]
public partial class Category
{
    public string CoverImageUrl { get; set; }
}

我在控制器响应的JQUERY中得到了CategoryID。但我没有得到CoverImageUrl。请帮我解决这个问题。

2 个答案:

答案 0 :(得分:2)

我尝试使用生成的代码使用的datacontract属性

public partial class Category
{
    [DataMember]
    public string CoverImageUrl { get; set; }
}

答案 1 :(得分:0)

您需要使用DataMember属性标记CoverImageUrl。