工具箱

数据库和 OR/M 工具、Oren Eini 和自定义 Visual Studio 选项卡

Scott Mitchell

增强 LINQ 以 SQL 和 ADO.NET 实体框架设计器

SQL 和 ADO.NET 实体框架的 LINQ 是两个对象关系映射 (OR / M) 从 Microsoft 的实现。使用这些 OR / 女士需要执行创建.dbml 或.edmx 的文件,包含关系模型和对象模型之间映射。在介绍下通过 XML,定义此映射,但 Visual Studio 设计器使创建这类映射轻松拖放功能。

如果在您的应用程序中使用 SQL 或实体框架的 LINQ 人员负责维护映射文件签出 Huagati DBML/EDMX 工具 (版本 1.76) 的 SQL 和实体框架设计器在 Visual Studio LINQ 中添加了许多功能。

观察规定对象模型中的命名约定是常见的挑战与拖放功能 OR / M 的工具。数据库对象名称通常包括 “ 表 ” 或 “ usp_ ” 类似的前缀或可能完全大写或小写。Visual Studio 设计器中添加数据库对象时创建相应的类使用相同的前缀和大小写转换,这可能会给您的工作组计数器运行命名约定。Huagati DBML/EDMX 工具,’re 只是一个几次单击远离重命名的所有类和对象模型中的成员。您可以添加或删除前缀或后缀、 强制适当的大小写,删除下划线等等。

到 SQL 设计器在 Visual Studio LINQ 的一个缺点是没有更新以反映最新的数据库更改该对象模型的机制。渚嬪当您第一次拖动到设计器的数据库表,与属性对应于表已经列被创建对象。如果几周数,三个新列将添加到同一个表,您必须返回到设计器中,SQL LINQ 和任一删除然后重新添加到在设计上的表或手动将三个新属性添加到相应的类。此缺点是一个非-问题与它可以报告关系模型和对象模型之间的差异,并自动同步关系模型与该对象模型 Huagati DBML/EDMX 工具。Huagati DBML/EDMX 工具还可以生成修改关系模型,以使它反映了对象模型所需的 SQL 语句。

另一种很方便的功能是从数据库检索表和列说明和它们包含在对象模型的 XML 文档中的文档工具。

Huagati DBML/EDMX 工具包括一个免费 45 天的试用版,连同标准和专业版的版本。标准版本成本 ¥ 50,每个用户许可证,并支持每个模型的最多 80 表。专业版成本 ¥ 120 每个用户许可证,对没有限制。

价格: $ 50 到 ¥ 120 每个用户许可证
huagati.com/dbmltools

重要博客

我最喜欢的.net 博主之一是 Oren Eini、 多网络日志撰写者和知名的软件开发人员张贴下 pseudonym Ayende Rahien。Eini 也许是最佳已知为他向.net 开放源项目的贡献。他 ’s 到 NHibernate,参与者流行 OR / M 的框架中的 2006 骞? 10 鏈? 问题 MSDN 杂志msdn.microsoft.com/magazine/cc163540 ),评审和 2008 年一月问题 ( msdn.microsoft.com/magazine/cc135981 ) 中介绍的 Rhino Mocks mocking 框架一个.net 创建者。

Oren Eini 已经博客

Eini 已经博客张贴内容探讨主题的彩虹。某些项检查功能或如 NHibernate 或 Microsoft 实体框架的一个特定框架的缺陷。大多数是更通用,imparting 建议从有关数据库设计 trenches OR / M 使用情况、 测试和软件的体系结构和设计。张贴内容通常包括屏幕快照、 图表和代码段。

查找渚嬪张贴内容的一系列上 OR / M 的实现上挑战如该关系和对象模型、 hydrating 实体,因此之间的映射。并请务必阅读 求解选择 N + 1 问题 ,其中解释了如何循环访问父-子数据可能会无意导致严重的性能问题。

Eini 已经博客还包含 don’t 通常查找开发人员专注博客中的张贴内容的类型。对于实例有多长时间,都只有几个句子,但仍传达重要的想法并获取读取器考虑管理的条目数。其他公告包含与单个语句类似于一个冗长的代码段、 “ 查找 bug ”。与这些类型的张贴内容随他难忘的输出一起 ’s 不为有三个或多个张贴内容 天不常见。  Oren 已经日志是为.net 开发人员和架构师 must-read。

ayende.com/Blog

针对多个数据库运行同时查询

通过我的职业当中我帮助生成许多 multi-tenant 的应用程序 — — 具有单个实例运行在宿主的 web 服务器上,但由多个组织使用的应用程序。multi-tenant 的应用程序必须确保用户可以查看和管理仅属于她的组织的数据。到此结束 multi-tenant 处理经常敏感信息的应用程序完全隔离数据在其他原因) 之间的一个单独的数据库中存储每个组织已经数据。

每个组织已经数据存储在一个单独的数据库中时,则查看聚合跨多个组织的数据可以是真实的质询。假设一个开发人员查找损坏了特定组织的数据的 bug。若要确定如果 ’s 类似损坏的其他客户,开发人员必须运行查询每个单个的数据库上为每个发出一个单独的结果集。可以想象为获取乏味的。理想情况下,从每个数据库结果会被聚合到一个单一、 统一输出,它可能再进行排序,筛选等。

在年我查询使用多种技术,多个数据库,其中包括未记录的 sp_MsForEachDb 存储过程、 编写批处理文件和生成自定义工具。最近,同事引入我为红色浇口软件已经 SQL 多脚本 (版本 1.1) 和 haven’t 回查找。SQL 多脚本工作原理太多,就像期望 — 输入 SQL 语句执行,并选择要针对查询数据库。SQL 多脚本然后激发关闭 SQL 语句,以指定的数据库和聚合,并显示结果。

SQL 多脚本

榛樿鎯呭喌涓嬶,SQL 多脚本将 SQL 语句发送到数据库以并行方式。这可以极大地减少得到该结果,尤其是在该数据库所驻留在不同的服务器上时所需的时间。鎴栬 € 咃,可以指示 SQL 多脚本以串行,发出该语句是要停止正在执行错误面对的脚本的情况下非常有用。

如果您执行获得错误,SQL 多脚本提供了四个错误处理选项:继续执行脚本 (默认行为) ; 停止在数据库上执行当前的语句,但继续使用其他 SQL 语句 ; 停止此数据库上执行所有语句和移到列表中 ; 在下一个数据库或停止在所有数据库上都执行所有语句。

SQL 多脚本已经结果窗格中提供消息和由数据库与当前会话期间对数据库执行脚本的历史记录一起返回的数据聚合的的视图。结果窗格中还包括了查询的数据库复选框列表 ; 选中或取消选中要显示或从聚合中删除其结果数据库。您也可以单击保存按钮,将聚合的结果保存到.csv 或.txt 文件。

价格: $195
红色 gate.com

提高 Visual Studio 制表位

当处理大型项目,不少见有几十个 Visual Studio 内打开文件。遗憾的是,Visual Studio 的用户界面将保留到有许多打开的文档时所需的位了。榛樿鎯呭喌涓嬶,Visual Studio 使用单文档界面 (SDI) 与一系列显示哪些文档是打开的选项卡。但是,这些选项卡进行布局水平,这限制了多少可以显示在屏幕上。Visual Studio 多文档界面 (MDI) 不显示选项卡,但相反要求用户转到窗口菜单查看并在打开的文档之间切换。

制表符 Studio (版本 1.6) Sergey Vlasov 情况是一个加载项使用改进的和可自定义的选项卡集替换内置的 Visual Studio 选项卡。与 Visual Studio 不同制表符 Studio SDI 和 MDI 配置中显示每个打开的文档选项的卡。如果不是水平空间不足,无法显示每个选项卡,Tabs Studio 堆积它们垂直。

制表符 Studio

许多类型的 Visual Studio 中创建的组件是使用多个文件来实现的。渚嬪创建名为 Default.aspx 的 ASP.NET 页实际上创建 Default.aspx 和 Default.aspx.cs (或 Default.aspx.vb) 两个文件。制表符 Studio 添加了使其更易于使用的类文件的功能。

假设您具有 Default.aspx 工作,需要打开 Default.aspx.cs。Default.aspx 选项卡上右键单击并在上下文菜单包含打开 Default.aspx.cs 中的一个选项。’s 怎么更 Tabs Studio 分组相关的文档到单个选项卡。制表符 Studio 打开 Default.aspx 和 Default.aspx.cs 时, 将显示一个单一选项卡,其中列出了不带扩展名 (默认) 一起两个扩展名的文件名 (.aspx 并 aspx.cs)。单击选项卡以调出 Default.aspx,或单击在扩展名为.aspx aspx.cs 显示 Default.aspx.cs。

制表符 Studio 还具有多种配置选项。傦实例 Tabs Studio 允许通过 XAML 进行自定义的选项卡 ’ 样式。您可以配置选项卡 ’ 字体、 颜色、 形状和更多。因为该设置使用 XAML 定义的可以包含条件语句并使得执行操作类似于其他编程逻辑指定为当前所选选项卡设计样式或其他未选定制表符从不同的颜色使以前选定的选项卡。制表符 Studio 可使用外接程序进一步自定义。您可以编写您自己或从制表符 Studio 网站下载任何在可用外接程序可用。

使用为该非-速成版的 Visual Studio 2005,2008年和 2010年制表符 Studio。

价格: $34
tabsstudio.com

Scott Mitchell* 作者的大量书籍和 4GuysFromRolla.com founder 是自 1998年后已被使用 Microsoft Web 技术的 MVP。 Mitchell 是独立的顾问、 培训师和编写器。 您可通过网站 Mitchell@4guysfromrolla.com 或通过他在 ScottOnWriting.NET 开设的博客与他交流。*

在确认所有价格按时间并且会有变动。本专栏所表述观点仅为作者个人之见,并不一定反映 Microsoft 的观点。

请将您想向 Scott 询问的问题和提出的意见发送至 toolsmm@microsoft.com