我需要开发一个程序,该程序必须删除数据并将其插入到Oracle数据库中。是否可以使用LINQ to SQL与Oracle?是否可以使用LINQ to SQL与Oracle?
对于开发,我使用MS SQL服务器,但它将成为生产中的Oracle数据库。你有什么建议?
我需要开发一个程序,该程序必须删除数据并将其插入到Oracle数据库中。是否可以使用LINQ to SQL与Oracle?是否可以使用LINQ to SQL与Oracle?
对于开发,我使用MS SQL服务器,但它将成为生产中的Oracle数据库。你有什么建议?
不,你不能。尽管LINQ to SQL初始设计时考虑到了多数据库支持(您可以在使用.NET Reflector查看代码时看到这一点),但该模型从未公开过,而且Microsoft无意添加多数据库支持LINQ to SQL。
如果您需要多数据库支持,请使用实体框架。
但实体框架使用LinQ To SQL,不是吗? –
你能改说这个问题吗? – Steven
@Dran:不,他们(EF和L2S)是完全不同的产品。前者与db不可知,后者仅适用于SQL Server系列(包括Compact和Express)。 –
不,LINQ-to-SQL不支持Oracle。在内部,该项目支持多个后端,但是这从未进入最终的公开发布。我相信LINQ-to-Entities支持其他数据库。
正式地否。Linq to SQL原本是为了更换数据提供程序以允许连接到其他数据库而构建的,但他们在发布的版本中禁用了此功能,以鼓励人们使用更稳定和受支持的数据访问层(如EF)。如果您想在SQL和Oracle之间切换,推荐的方法是使用实体框架。
此外,Patrick非常正确,确保您正在开发和测试您将要用于生产的相同数据库平台,但它们的操作方式有着天壤之别。当然,你应该能够将它抽象出来,而不用关心你是使用SQL还是使用Oracle,但是这几乎不是真的。
我强烈建议使用相同的数据库进行开发,以便在生产中使用! – Patrick
+1给帕特里克。除非你正在制作商业产品,否则不要试图使它与数据库无关,它比它的价值更多的努力,并且浪费了你购买的昂贵产品。如果您在生产环境中使用oracle,请在oracle上开发。 –