ASP.Web API中的条件$扩展选项

时间:2014-07-01 12:12:01

标签: asp.net asp.net-web-api

我创建了两个包含以下列的表 表名:TBL_Question 列:

QuestionId
QuestionTitle
QuestionBody

表名:TBL_Response 列:

ResponseId 
QuestionId (FK)
ResponseBody 

在此之后,我使用Entity Framework生成数据层,创建两个类:

  1. TBL_Question
  2. TB_Response
  3. 要从ASP.Net WebAPI返回数据,我想返回DTO类,而不是实体生成器生成的类。 为此创建的两个DTO类是:

    public class Question
    {
        public int QuestionId { get; set; }
        public string QuestionTitle { get; set; }
        public string QuestionBody { get; set; }
        public List<Response> Responses { get; set; } 
    }
    
    public class Response
    {
        public string ResponseId { get; set; }
        public int QuestionId { get; set; } 
        public string ResponseBody { get; set; }
    }
    

    我在WebAPI中创建了一个方法,它以下列方式返回问题:

    public IQueryable<DataList> GetDataLists()
        {
            var query = from a in siteDataRepository.DbContext.Tbl_Question
                        select new Question
                        {
                            QuestionId = a.QuestionId,
                    QuestionTitle = a.QuestionTitle,
                    QuestionBody=a.QuestionBody,
                    Responses = a.Tbl_Response.Select(c1 => new Response
                                {
                                    ResponseId=c1.ResponseId,
                                    QuestionId=c1.QuestionId,
                    ResponseBody=c1.ResponseBody
                                }).ToList(),
                        };
    
            return siteDataRepository.Search(query);
        }
    

    此方法正常。查询是: 我如何控制,如果只提供$ expand选项,它将填充响应列表。有什么想法吗?

0 个答案:

没有答案