LINQ с FoxPro?
есть ли разумный способ доступа к базам данных FoxPro с помощью LINQ?
4 ответов
одним из благословений / проклятий .NET является то, что ответ редко "нет" на любой вопрос программирования .NET.
например, этот парень (спасибо Сергею и Ларри) показывает способ доступа к FoxPro-типу DBs с 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
Linq2Sql поддерживает только Sql Server, Entity framework поддерживает кучу, но foxpro не является одним из них.
У NHibernate есть поставщик Linq, который просто пошел 1.0, и с немного покачивания вы можете заставить его работать с Foxpro.
IMO NHibernate.Linq - ваш лучший выбор, но все зависит от того, как вы определяете "разумный"; -)
на данный момент я работаю в этой общей области - пытаюсь подключить Silverlight к устаревшим данным в таблицах VFP9 и так далее.
возможно, Вам будет проще использовать подход веб-служб. Это потребует создания библиотеки DLL COM-сервера с помощью Visual FoxPro, которая имеет методы для доступа к данным VFP и возврата их с помощью CursorToXML() в формате, который .NET может загрузить в DataSet или DataTable. CursorToXML может сделать это самостоятельно. Затем вы создадите проект веб-службы WCF в .NET, и добавьте COM DLL, созданную VFP, в этот проект - вы используете COM Interop здесь. Затем в службе WCF создаются WebMethods, сопоставляющие вызовы методов с DLL VFP. Как только он находится в Службе WCF, вы можете использовать эту службу в качестве источника данных. Возможно, это не самый быстрый способ, но он работает.
У Рика Страла есть отличная статья, демонстрирующая все это в Журнал Код.