#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