7

有没有一种合理的方法可以使用 LINQ 访问 FoxPro 数据库?

4

4 回答 4

6

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

于 2009-07-28T12:02:31.937 回答
4

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

例如,这个人(感谢 Sergey 和 Larry)展示了一种使用 LINQ 访问 FoxPro 类型 DB 的方法:http: //blogs.msdn.com/calvin_hsia/archive/2007/11/30/6620133.aspx

一个更好的问题可能是,你不能,但你应该!?

如果您坚持这样的选择,实体框架可能是一个更好的地方:http: //msdn.microsoft.com/en-us/library/aa697427 (VS.80).aspx

于 2008-12-02T18:46:21.887 回答
1

Linq2Sql只支持Sql Server,Entity框架支持一堆,但foxpro不是其中之一。

NHibernate 有一个刚刚发布 1.0的 Linq 提供程序,稍加调整就可以让它与 Foxpro 一起使用。

IMO NHibernate.Linq 是您最好的选择,但这完全取决于您如何定义“合理”;-)

于 2008-12-02T18:43:49.783 回答
0

我目前正在这个一般领域工作 - 尝试将 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中发表了一篇出色的文章,展示了这一切。

于 2009-12-14T11:58:46.823 回答