.NET Entity Framework - будет ли он поддерживать кроссплатформенные клиенты? - PullRequest
0 голосов
/ 19 июля 2011

Я, наконец, начинаю рассматривать Microsoft .NET Entity Framework как слой базы данных для моего продукта. В идеале я буду использовать его для размещения базы данных и WCF, а также для использования веб-сайтом, а также многофункциональными клиентами и мобильными устройствами.

Имеет ли текущая версия EF supoort кроссплатформенные клиенты? Будет ли это работать, если я создам приложение для Mac, приложение для Linux, приложение для iPad, приложение для Android и т. Д.

Работает ли он из коробки или требует дополнительного кодирования для поддержки кроссплатформенности? Требуется ли установка дополнительных компонентов для других клиентов, если они поддерживаются?

Ответы [ 4 ]

3 голосов
/ 19 июля 2011

Для одного из проектов моей компании мы используем базу данных MSSQL, слой модели EF и слой WCF сверху для обслуживания классического веб-сайта ASP (например, веб-сайт MVC2 и приложение для iPhone / iPad. Простое). Ответ заключается в том, что EF будет компилироваться до сборки .NET и нуждается в помощи для кроссплатформенности. Если вы предоставляете его через стандартный (ые) протокол (ы), такой как WCF, вы можете легко его использовать. В противном случае вам придется обернуть сборка .NET для каждой платформы в некоторой форме кода взаимодействия.

2 голосов
/ 19 июля 2011

Не раскрывайте какую-либо EF-специфичную реализацию за пределами ваших служб WCF, и она будет отлично работать с клиентами не из Windows.

Используйте простые старые объекты CLR (POCO) для интерфейсов этих служб (создаваемых с помощью EF POCO Generator, если хотите), а не модель домена EF по умолчанию на основе EntityObject, чтобы гарантировать отсутствие зависимости на стороне клиента от EF.

1 голос
/ 19 июля 2011

Работает там, где вы можете запустить .net framework для Windows и Linux, используя Mono.

Для IPod, Andriod и других мобильных устройств, если вы соединяетесь с сервером с помощью WCF / REST, вам не нужно запускать слой базы данных на мобильном устройстве.

0 голосов
/ 19 июля 2011

Вам просто понадобится серверная часть для поддержки EF, и, вероятно, потребуется поддержка среды выполнения .Net.Затем вы будете предоставлять свои данные через стандартный протокол, такой как OData .Для вашего клиента вы будете общаться с протоколом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...