Каков эквивалент LINQ-SQL для Silverlight?

У меня есть приложение WPF, которое использует LINQ-SQL на локальном.MDF файле. Это решение является простым, легким, и эффективным, т.е. Я настроил свою модель однажды, затем данные чтения-записи где угодно через LINQ:

        using (var db = Datasource.GetContext())
        {
            oldItem = (from i in db.Infos
                       where i.Id == TheId
                       select i).SingleOrDefault();
            CreateForm(db, FormBase, oldItem, Button_Save);
        }

Что очень простое эквивалентно из этого для приложений Silverlight?

Поиск я нахожу взрыв условий:

  • WCF услуги RIA, услуги передачи данных WCF (услуги передачи данных ADO.NET, Астория), инструментарий услуг передачи данных
  • .NET RIA Services
  • OData (Даллас)
  • GData
  • REST, основанный на REST, подобный REST, вдохновленный REST
  • XML, JSON, RDF+XML
  • веб-сервисы, SOA
  • облачные службы, Azure, SQL Azure, Платформа Azure Services

Все, что я хочу сделать, является этим:

  • создайте .mdf файл
  • используйте некоторый LINQ-to-SQL-like инструмент для генерации веб-доступа (REST?) слой данных и т.д.
  • ftp .mdf файл и классы до моей услуги веб-хостинга ASP.NET
  • запишите клиентам Silverlight, которые читают и пишут в этот источник данных с LINQ
5
задан Edward Tanguay 28 January 2010 в 10:30
поделиться

5 ответов

Если вы хотите разработать приложение Regular LOB (строку бизнеса), вы должны следовать подходу с использованием интерфейса веб-сервиса в вашу базу данных. Служба данных RIA или службы WCF - это технология текущей RAD (Rapid Application) Microsoft, чтобы облегчить эту задачу.

Если вы говорите о специальном сценарионе, вам нужно: Silverlight 4 при запуске браузера может говорить с COM-серверами в Windows. Разговор с базами данных описан в этом огромном блоге: Разрезание Silverlight 4 Com функций .

Если вы ищете способ манипулировать файлами, подобными базам данных, вы можете взглянуть на проект CSHARP-SQLite . Я думаю, что это компилирует для Silverlight без особого ADO (быстрое и грязное доказательство концепции здесь: Доказательство концепции CSHARP-SQLite в Silverlight ). С ним вы можете создать и манипулировать файлом базы данных в изолированном пользовательском хранилище файлов в регулярном приложении Silverlight, а затем загрузить его туда, где вы хотите.

1
ответ дан 13 December 2019 в 22:07
поделиться

Не возможно. Silverlight не может получить доступ к базам данных напрямую. Некоторые веб-сервисский слой требуется между ними. Я думаю, что услуги WCF и RIA являются наиболее широко используемыми.

1
ответ дан 13 December 2019 в 22:07
поделиться

Я бы настоятельно рекомендовал вам очистить час в вашем расписании и просто посмотреть это видео:-
net-ria-services-intro

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

1
ответ дан 13 December 2019 в 22:07
поделиться

Вот что делать -

  1. Создайте приложение Silverlight с помощью Visual Studio. Вы получите два проекта, один с Silverlight XAML, а другой веб-приложение для его размещения.

  2. В веб-приложении добавьте файл DBML (Linq-2-SQL). Настройте как обычно

  3. в веб-приложении, добавьте службу WCF Silverlight Enabled

  4. в службе WCF, определите некоторые методы, которые получают доступ к контексту данных L2S

  5. в проекте Silverlight, перейдите к добавлению ссылки на сервис, нажмите « Откройте для себя «и добавьте службу WCF в

  6. . Здравствуйте на сервис, и доступа к вашим методам

звучит немного сложным, но довольно быстро на практике.

3
ответ дан 13 December 2019 в 22:07
поделиться

Нет ... и Да !

  • Нет, я мое мнение, вы не должны просто повтор текст.
  • Тем не менее, вы должны см. Атрибут ALT как возможность предоставить (короткое) описание изображения, например, «Портрет Джорджа Вашингтона, масла на холсте, около 1790».

Это так, что изображение делает только в качестве форматирования страницы. Вместо этого это информация о несущей информации. Пользователи, которые не могут видеть информацию (например, считыватели экрана), должны хотя бы иметь возможность узнать, что им не хватает.

-121--3808399-

Сосредоточиться на обучении Услуги Data Data Data или WCF Data Services. Он преобразует ваши запросы LINQ внутри Silverlight, чтобы отдохнуть запросы и сохраняет вас от записи некоторых из инфраструктурных кодов. Вся идея состоит в том, что ваше приложение SL связывается только к веб-сервисам, у вас нет доступа к физической БД, как когда вы используете некоторые ORM (L2S). В SL вы находитесь внутри песочницы браузера, что предотвращает доступ к файловой системе, включая файлы БД.
Другой подход состоит в том, чтобы написать веб-сервис и выставлять данные через него (GetArticleByiD), а затем вы употребляете эти услуги от Silverlight. Затем вы используете LINQ для итерации на выборах, загруженных данных.

4
ответ дан 13 December 2019 в 22:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: