Linq возвращает JSON

#asp.net #json #linq

#asp.net #json #linq

Вопрос:

Я пишу этот код:

 SqlConnection Conn = new SqlConnection(connStr);
DataClasses1DataContext behzad = new DataClasses1DataContext(Conn);

var qy = (from p in behzad.Resturants
          select new
          {
              p.id,
              .Name
          }).Skip(2).Take(1);

JavaScriptSerializer jss = new JavaScriptSerializer();
Label1.Text = jss.Serialize(qy);

string json = jss.Serialize(qy);

return json;
 

Могу ли я использовать этот метод от клиента для доступа к данным на сервере, linq к json?

Комментарии:

1. Вы имеете в виду отправку данных с клиента на сервер?

2. Нет, друзья мои, означает, что клиент получает данные с сервера

3. Да, вы можете, если это единственное, что вас интересует.

4. как я могу, пожалуйста, объяснить или отправить мне ссылку на учебник

5. Вы пишете отдельное приложение или у него есть интерфейс веб-страницы?

Ответ №1:

Похоже, вы ищете OData, протокол, который предоставляет модель данных через REST в виде XML и Json. Очень легко представить модель Entity Framework в качестве службы OData с помощью ASP.NET Web API 2 как Visual Studio включает в себя шаблоны контроллеров OData. Вы можете найти пошаговое руководство по созданию конечной точки OData.

Используя Entity Framework, контроллер OData может быть таким простым:

 public class AirlinesController : EntitySetController<Airline,int>
{
  private AirlineContext db = new AirlineContext();
  public override IQueryable<Airline> Get()
  {
    return db.Airlines;
  }
}
 

который вы можете вызвать из Javascript с помощью URL, например:

 http://localhost:1702/oairlinedata/Airlines?$filter=startswith(Name,'Vermont')
 

Вы можете проверить статью Джули Лерман в MSDN для получения более подробной информации, или вы можете проверить ASP.NET раздел, посвященный поддержке OData

Клиенты вызывают службу OData либо путем создания URL-адреса с соответствующим фильтром, выбора параметров, либо с помощью библиотеки для его создания. Клиент .NET позволяет вам использовать LINQ (в конце концов, LINQ доступен только в .NET).

В Javascript вы можете просто выполнить вызов AJAX с соответствующими параметрами и прочитать объект Json, или вы можете использовать библиотеку, такую как datajs