Пользовательский контроллер API не возвращает записей

Мне нужно вернуть результаты запроса SQL в мое мобильное приложение.

У меня есть база данных по лазурному и мобильному сервису.

Я добавил новый пользовательский API-контроллер в свой сервис, но не могу получить какие-либо записи обратно. Я читаю и читаю и до сих пор не понимаю, чего мне не хватает. Любая помощь будет принята с благодарностью

using System;    
using System.Collections.Generic;    
using System.Linq;    
using System.Net;    
using System.Net.Http;    
using System.Web.Http;    
using Microsoft.WindowsAzure.Mobile.Service;    
using mytestService.Models;    
using mytestService.DataObjects;    
using System.Data.Common;    
using System.Data.SqlClient;    
using System.Data;    
using System.Threading.Tasks; 
namespace mytestService.Controllers    
{    
    public class SelectMapMarkersController : ApiController     
    {    
        public ApiServices Services { get; set; }    
        public class MapMarkers
        {
            public string MerchantName { get; set; }
            public double MerchantLongitude { get; set; }
            public double MerchantLatitude { get; set; }
            public string MerchantMiniURL { get; set; }
            public string Deal { get; set; }
            public string CategoryDescription { get; set; }
        }   

        // GET api/SelectMapMarkers
        public List<MapMarkers> Get() 
        {
             using (mytestContext context = new mytestContext())
            {
                // Get the database from the context.
                var database = context.Database;
                 string sql = "select MerchantName, MerchantLongitude, MerchantLatitude, MerchantMiniUrl, Deal, CategoryDescription from mytest.tblMerchants m inner join mytest.tblMerchantDeals d on d.merchantId = m.merchantid inner join mytest.tblMerchantCategories mc on mc.merchantid = m.merchantid inner join mytest.tblCategories c on c.categoryid = mc.categoryid where m.MerchantActive = 1 and (d.dealstartdate <= getdate() and d.dealenddate >= getdate()) ";

                List<MapMarkers> result = database.SqlQuery<MapMarkers>(sql).ToList<MapMarkers>();
                return result;

            }
        }
        }
    }

1 ответ

Это то, что я бы попробовал...

Перейдите в базу данных с помощью SSMS и выполните строку t-sql вручную и посмотрите, каковы результаты.

Другие вопросы по тегам