定制数据提供商?

时间:2011-04-12 07:29:49

标签: c# linq entity-framework ado.net

我有一个数据库,它不提供(还)c#客户端库,只提供二进制tcp或http rest协议。

我必须编写一个可以在DB上执行各种操作的应用程序:CRUD,管理等

这些操作在sql查询中表示,使用select / insert / update / delete和自定义关键字进行特定于DB的操作。

我想知道这个结果的路径是什么。我可以用两种观点提出这个问题:理想世界和实际世界。

我很感激任何反馈!建议的方法是什么,遇到的问题等等。

PS:我正在考虑这些方法:

  • 编写自定义ADO.Net提供程序(IDbCommand,IDbConnection等)
  • 编写自定义linq提供程序(依赖于前者)
  • 也许正在编写EF提供商

1 个答案:

答案 0 :(得分:1)

Linq只是语言集成查询。它是表达查询的语法,但是在数据库查询的情况下,它只创建表达式树,必须将其转换为SQL并以某种方式执行。对于此执行,使用ADO.NET提供程序。 Entity框架的相同状态依赖于ADO.NET提供程序来访问数据库。因此,如果你想创建一些实现,你应该从ADO.NET提供者开始。