我是新来皇宫的世界以及目前正在探索它。我想到的是关于使用它在我的下一个项目,涉及数据库相互作用。

从什么我已经阅读,我认为有2种不同的方式交互数据库:

  • 皇宫SQL
  • 皇宫来的数据集

现在的产品,我的工作,无法依靠类型的数据库。例如,它可能会被部署SQL server/Oracle。

现在我的问题是:

  1. 如果我使用皇宫SQL,我坚持SQL服务器吗?
  2. 我认为我可以使用皇宫来的数据集,用于两SQL服务器和甲骨文。但我失去的东西(便于编程、性能、可靠性等),如果我使用皇宫来的数据集SQL服务器(比皇宫SQL offcourse).
有帮助吗?

解决方案

你是正确的约#1-皇宫Sql只会的工作对SQL服务器数据库。

我会去的ADO实体的框架如果你想的能力,访问不同的数据来源(采用不同的提供商).你得到类似的灵活性条款的使用POCO等实体,这是相当容易的扩展对于更高级的/复杂的实现。

上我的当前项目中,我们使用的皇宫Sql且它已经收,但我们已经有一些问题需要克服。我发现它有点过于简单在时间方面的扩展。我写了一(最好)响应有关皇宫Sql和实体框架 在这里,.

关于问题2-我不确定我会想到回去的数据集。恕我直言他们是更多过去的事情,但是可以有用的,如果你有一个体面的工具箱与特定的控制(如Visual).然而,我找到他们的开销太昂贵的快速事务系统。实施并没有一半的功能的皇宫Sql或实体框架。

其他提示

来回答你的第一个问题:不,还有其他实现的皇宫提供oracle,例如:

LinqToOracle

DbLinq

后者支持多个数据库,如源码.

也检出 ADO.NET 实体框架.

  1. 是的,这就SQL服务器只。此外,Microsoft具有冻结L2S并不会改善它进一步。但这是一个良好的框架,执行和容易使用。
  2. 皇宫来访问数据集的数据集作为enumerables后的数据已经获取的数据库。皇宫SQL使用IQueriable实际建立动态SQL查询。在许多情况下,L2S将执行得更好,并保存你写的数据库的代码。

你应该看看皇宫到的实体。这是最全面的框架。现在,它主要用于SQL服务器,但是你必须支持Oracle等。在时间。

  1. 你是不是坚持SQL服务器只。在理论上你可以建立一个皇宫提供任何数据库。有一个项目上更为皇宫Oracle http://www.codeplex.com/LinqToOracle.我没有尝试过了我自己。

  2. 您将如何得到的数据纳入数据集?我不认为你会获取整个表格进入一个数据集?这将是一个严重性能的问题。如果你要使用皇宫来的数据集,你会需要编写的所有SQL queries自己获得的数据,从数据库,而不是让皇宫创建sql查询。所以你实际上将首先需要查询的数据库,然后查询的数据集。似乎是双重的工作对我来说...

当你使用皇宫SQL,你会非常困与SQL服务器,如我所知。

如果你使用皇宫来的数据集,你就会失去一点缓解的程序:与皇宫,可使用皇宫实体直接,同时用数据集,你必须保持使用数据集名称(MyDataSet.实体=new MyDataSet.实体()),其中变老后的一段时间。我认为,这是唯一牺牲。

但是,可以使用它与例如Oracle(没有在一个项目)。这也有很多的拖放多一点的控制上起到桥梁作用(就我所知道的-我从来没有过调整皇宫-对-SQL多的),可以指定(例如)查询使用,等等。

因为你仍然可以定义之间的关系,表中的数据集,仍可使用皇宫还不够,所以你不会真正看到的问题。

我假设的可靠性是一样好与皇宫-到-数据集作为与皇宫-对-SQL(从未有过的问题),绩效似乎是不够好,绝不可能真正简介,虽然。

你是不是坚持到SQL服务器只。我们提供皇宫SQL实现Oracle,MySQL,PostgreSQL和源码的服务器。获得更多的信息 在这里, 数据集不是以方便比较,与皇宫SQL技术。检查的实体的框架的选择,作为一种替代方法。你能够写几储存模式的一个概念模型,然后使用SQL服务器和Oracle数据库并行的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top