2008-12-02 3 views
6

Есть ли разумный способ доступа к базам данных FoxPro с использованием LINQ?LINQ с FoxPro?

ответ

3

Одно благословения/ругательство .NET является то, что ответ редко «нет» на любой Вопрос программирования .NET.

Например, этот парень (спасибо Сергей и Ларри) показывает способ доступа к БД FoxPro типа с LINQ: http://blogs.msdn.com/calvin_hsia/archive/2007/11/30/6620133.aspx

Лучше вопрос, вероятно, вы не можете, но должны вы !?

Если вы настаиваете на такой вариант, Entity Framework, вероятно, лучшее место, чтобы посмотреть: http://msdn.microsoft.com/en-us/library/aa697427(VS.80).aspx

1

Linq2Sql поддерживает только сервер Sql, инфраструктура Entity поддерживает кучу, но foxpro не является одним из них.

У NHibernate есть провайдер Linq, который just went 1.0, и с немного поджаривания вы можете заставить его работать с Foxpro.

IMO NHibernate.Linq является лучшим выбором, но все это зависит от того, как вы определяете «разумными» ;-)

6

Я только что закончил работу над реализацией. http://linqtovfp.codeplex.com/

+0

Отличный поставщик EF здесь - отлично работает !!! https://vfpefprovider.codeplex.com – bbqchickenrobot 2013-09-19 07:08:49

0

Я работаю в этой общей области на данный момент - пытаясь подключить Silverlight к устаревшим данным в таблицах VFP9 и так далее.

Возможно, вам будет проще использовать подход к веб-службам. Это связано с созданием DLL COM-сервера с использованием Visual FoxPro, который имеет методы доступа к данным VFP и возвращает их с помощью CursorToXML() в формате, который .NET может загружать в DataSet или DataTable. CursorToXML может сделать это самостоятельно. Затем вы создадите проект веб-службы WCF в .NET и добавите COM-DLL, созданную VFP, в этот проект - здесь вы используете COM Interop. Затем вы создаете WebMethods в своей службе WCF, которая сопоставляет вызовы методов в DLL VFP. Как только он находится в службе WCF, вы можете использовать эту службу в качестве источника данных. Не самый быстрый способ делать что-то, но это работает.

Rick Strahl имеет отличную статью, демонстрирующую все это в Code Magazine.