LINQ与FoxPro?

有没有合理的方法来使用LINQ访问FoxPro数据库?

一个.NET的祝福/诅咒是任何.NET编程问题的答案很少“不”。

例如,这个人(感谢谢尔盖和拉里)展示了一种使用LINQ访问FoxPro类型数据库的方法: 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

我刚刚完成了实施工作。 http://linqtovfp.codeplex.com/

Linq2Sql只支持Sql Server,entity framework支持一堆,但foxpro不是其中之一。

NHibernate有一个Linq提供程序只有1.0 ,并且有点jiggering你可以让它与Foxpro一起工作。

IMO NHibernate.Linq是你最好的选择,但这一切都取决于你如何定义“合理”;-)

我目前正在这个一般领域工作 – 尝试将Silverlight连接到VFP9表中的旧数据,依此类推。

您可能会发现采用Web服务方法更容易。 这将涉及使用Visual FoxPro创建COM服务器DLL,该DLL具有访问VFP数据的方法,并使用CursorToXML()以.NET可以加载到DataSet或DataTable的格式返回它们。 CursorToXML可以自己完成。 然后,您将在.NET中创建一个WCF Web服务项目,并将VFP创建的COM DLL添加到该项目中 – 您在此处使用COM Interop。 然后在WCF服务中创建WebMethods,映射到VFP DLL上的方法调用。 一旦它在WCF服务中,您就可以将该服务用作数据源。 也许这不是最快的做事方式,但它确实有效。

Rick Strahl在Code Magazine中有一篇很好的文章展示了这一切。