2011-09-05 69 views
0

我需要开发一个程序,该程序必须删除数据并将其插入到Oracle数据库中。是否可以使用LINQ to SQL与Oracle?是否可以使用LINQ to SQL与Oracle?

对于开发,我使用MS SQL服务器,但它将成为生产中的Oracle数据库。你有什么建议?

+3

我强烈建议使用相同的数据库进行开发,以便在生产中使用! – Patrick

+1

+1给帕特里克。除非你正在制作商业产品,否则不要试图使它与数据库无关,它比它的价值更多的努力,并且浪费了你购买的昂贵产品。如果您在生产环境中使用oracle,请在oracle上开发。 –

回答

1

不,你不能。尽管LINQ to SQL初始设计时考虑到了多数据库支持(您可以在使用.NET Reflector查看代码时看到这一点),但该模型从未公开过,而且Microsoft无意添加多数据库支持LINQ to SQL。

如果您需要多数据库支持,请使用实体框架。

+0

但实体框架使用LinQ To SQL,不是吗? –

+0

你能改说这个问题吗? – Steven

+2

@Dran:不,他们(EF和L2S)是完全不同的产品。前者与db不可知,后者仅适用于SQL Server系列(包括Compact和Express)。 –

1

不,LINQ-to-SQL不支持Oracle。在内部,该项目支持多个后端,但是这从未进入最终的公开发布。我相信LINQ-to-Entities支持其他数据库。

2

正式地否。Linq to SQL原本是为了更换数据提供程序以允许连接到其他数据库而构建的,但他们在发布的版本中禁用了此功能,以鼓励人们使用更稳定和受支持的数据访问层(如EF)。如果您想在SQL和Oracle之间切换,推荐的方法是使用实​​体框架。

此外,Patrick非常正确,确保您正在开发和测试您将要用于生产的相同数据库平台,但它们的操作方式有着天壤之别。当然,你应该能够将它抽象出来,而不用关心你是使用SQL还是使用Oracle,但是这几乎不是真的。

相关问题