我将教会的类sson,我需要解释哪些因素应该会影响你的决定的数据接入技术。我所熟悉的许多数据存取方法,如输入的数据集,皇宫SQL,皇宫的实体,.netTiers,LLBLGen和定义呼吁与SQL连接的对象,并命令对象。我的一些客户将只允许存储程序可用,他们将不讨论其他任何东西。我的一些客户是不是准备安装。净3.5。一些客户需要一间网服务层在任何网络应用程序。我大多时间用类型的数据集和定义的网服务,或我的使用。netTiers与CodeSmith.还有什么我应该想什么呢?

有帮助吗?

解决方案

像所有的选择是在一个软件项目:这取决于...但在我看来最重要的因素是对环境的项目。

这包括(我没权利要求,这个名单是完全无论如何):

  • 可用的技能在内的开发团队和维护队(如果不同)
  • 需要特征
  • 限制设定的客户(不是所有的客户支持所有技术可用。这肯定有些东西你应该考虑到在逐步取代传统系统引入一个新的系统环境的)
  • 限制设定的立法

希望这可以帮助你。

其他提示

一个重要的是要记住的是,一个数据库不一定只是一个备份数据存放于一个应用程序(在隔离)。其他应用程序和过程最终可能需要访问的数据库,特别是在大或"企业"的数据库(或应用程序)和特别是给予足够的时间。

重要的是要考虑:

  • ETL/载荷/移徙
  • 外部一体化/同步(管理/SSI)
  • 重复使用的其他应用程序(特别是网站、移动应用程序等)
  • 安全/攻击表面(一个方式比较不安全的另一个?)
  • 维护任务
  • 可将该数据库可使用24/7的?是一种方法将提供更好的位于另一个,等等。
  • 此外,一些设计上的审议是在秩序。你是调整为更快的选择,或者更快写的?一个数据访问的设计可以执行比另一种更好。

    我不是说有一个单一的银色子弹,但我做什么注意的是,任何数据访问的设计图案的需要"大图像"的思想-它将解决当今的问题和什么你可以合理地预测的可能是明天的需求?

    还有,你将提供一个外部API或一些框架一致的数据的访问?它将被暴露,直接或间接地?

    有一个地方,我认为,两个实体框架/皇宫SQL,传统的储存程序和其他工具,如它能够(等等),但是你应该的理由和合理化的技术选择第一,与试图确保其适合于现在和未来的需要。

    编辑:对不起,我忘记了很大一:维护性。一些模板驱动的解决方案提供你一些体面的胜利是能够再生DAL后的架构变化,在其他人(如手写的存储程序)。这是值得称重了生产率的提高与缺点。

    我认为在您的原始帖子和norbertB的添加内容之间,您已经涵盖了所有内容。从绝对约束开始(记住,这只是因为客户对某事说不 - 即使他们说这是绝对的 - 这并不意味着你无法改变他们的想法......)。一旦你用绝对约束缩小了领域,就要看看其他事情。

    似乎遗漏的一件事是灵活性。例如,如果我试图在两种类似的技术之间进行选择,我知道一个人可以支持可更新的视图,而另一个则不能,即使我当时完全不需要可更新的视图,我仍然会倾向于那个“ ;以防万一“。

    我真的只想到两件事。首先是我是否会拥有其他重要的数据。如果您没有将数百万行放入表中,那么您将要使用哪种技术并不重要,因为它们都能够快速地工作。

    第二件事是我是否可以使用LINQ,因为我发现使用LINQ(对SQL,实体,LLBLGen,无所谓)查询数据库给你两件重要的事情。第一个是编写查询非常容易,其次,在需要更改的情况下,在两个需要LINQ的框架之间切换是相当容易的。

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