VS2010已经推出有一段时间了,相比VS2008它确实有很多先进之处,这点想必很多已经开始使用VS2010的人已经感受到了,在这里要介绍的是VS2010的扩展管理器。

打开VS2010之后,我们可以在“工具”菜单下找到“扩展管理器”,如下:

打开“扩展管理器”之后,界面如下:

这个时候我们看到的是一个空的界面,这是很正常的,因为我们没有安装任何扩展。如果你当前的计算机可以连接到网络的话,点击“联机库”就可以看到联机的扩展了,下图是周公连接点击“链接库”的情形:

从上图可以看到VS2010提供的联机扩展分为三个大类别,分别是工具、控制和模板,当然每一个类别下面又有很多类别。在连接扩展管理器界面的中间就是目前可用的扩展,因为这些扩展大都是国外人开发的(国内的开发人员不是忙于买房子就是模仿去了)所以扩展的名字和描述都是英文的,不过这些描述有基本英语功底的人就能看懂,如果实在不能看懂的话,当你选中一个扩展的时候在扩展管理器的右边可以看到扩展的创建者、版本、下载次数、分级及界面预览,这些信息基本上就可以作为你是否选择安装这个扩展的参考了。在这里说一下,这里面提供的扩展有些是直接利用VS2010就能下载和安装的,有些是需要外部工具下载的,并且有些是免费的,有些是需要注册收费的(不过是否需要注册收费这个在扩展管理器中不是太明显)。
下面我介绍几个扩展,第一个就是H3Viewer,这个东东在我的《Silverlight3学习笔记(1):准备工作》中就介绍过,它可以方便我们查看VS2010的联机帮助的。在扩展管理器的搜索栏输入"h3"就能搜到这个东东,如下:

点击下载就可以按照提示操作了。
第二个就是NHibernate扩展。最近一段时间周公在关注一些ORM方面的技术,包括ADO.NET Entity Framework、Nhibernate及Java平台上的Hibernate,通过一些辅助工具我们也可以方便地生成NHibernate的配置文件和实体类,抱着试试看的态度我搜了一下有没有NHibernate扩展,结果还真找到了(可惜等我熟悉用法之后才发现这个是收费的,不想Java中有很多免费Eclipse Hibernate插件),下面是搜索结果界面:

经过一番搜索,周公下载并安装了以下几个插件,如下图所示:

说明,根据你安装的插件的不同,它们出现的位置也不同,有些可能是鼠标右键菜单,有些可能是一些菜单,有些可能还是一些组件。
在这里介绍一下Mindscape NHibernate Model Designer这个插件。这个插件是一个收费的插件,利用它可以很方面的生成NHibernate的配置文件和实体类。下面用一个简单的实例介绍一下它的操作步骤。
首先创建一个控制台项目(注意这个项目所使用的.NET Framework的版本必须大于.NET 2.0),在向项目中添加新项时如果我们拉到最下方我们会看到如下界面:

选择NHibernate Model并在下方输入生成文件的名称然后点击添加按钮,这样就完成了添加NHibernate Model文件,并且你还会看到一个新的界面,这个界面询问数据库中主键的生成方式,如下图所示:

如果我们数据库中主键字段是自动增长列,就可以按上图设置,如果某些表不是自动增长的主键也没有关系,可以在设计视图中更改。下面是添加NHibernate Model之后的界面:

注意:下面的操作需要在VS2010的服务器资源管理中操作,如果在你的VS2010种没有看到服务器资源管理器工具栏的话,请点击“视图”—“服务器资源管理器”打开,这样你就能在界面中看到了。默认情况下是没有任何任何数据库连接的,你可以点击“添加连接”来完成添加数据库连接,在添加连接界面中你会看到要求你配置数据库连接的界面,如下图所示:

如果安装了对应的数据库的.NET版本的驱动程序就可以连接到该类型的数据库了,比如MySQL等。
在上图的ArticleCollectorDB是《ASP.NET夜话》一书中最后一章中所使用的数据库,添加完数据库连接之后找到数据库连接下的表,将这些表拖放到NHibernate Model区,就可以看到下面的结果:

因为在创建表的时候已经设置了主外键关系,所以在拖拽相关的表到工作区时会自动设置关联(同时表现在生成的实体类代码和配置文件上)。生成了这些文件之后如何使用呢?很简单,我们在工作区上点击鼠标右键,会看到如下右键菜单:

选择“Get Started”就会出现如下界面:

在上图中有两个文本框,第一个就是告诉如何在应用程序中添加有关NHibernate的配置以便启用NHibernate的,第二个文本框就是告诉你创建一个NHibernate的辅助类,利用这个辅助类就可以使用NHibernate的Session了(NHibernate.ISession),向当前项目中添加有关NHibernate所需的类库(这些类库可以从下载到的NHibernate框架中找到),分别是:
Antlr3.Runtime.dll
Iesi.Collections.dll
LinFu.DynamicProxy.dll
log4net.dll
NHibernate.ByteCode.LinFu.dll
NHibernate.dll
完成之后编写一个如下的类,代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NHibernate;
using NHibernate.Cfg;
namespace NhibernateStudy
{
class Program
{
static void Main(string[] args)
{
using (ISession session = NHibernateHelper.OpenSession())
{
IList<User> userList=session.CreateQuery("from User u").List<User>();
foreach (User user in userList)
{
Console.WriteLine(user.Email);
}
IList<Article> articleList = session.CreateQuery("from Article a").List<Article>();
foreach (Article article in articleList)
{
Console.WriteLine("用户名为{0}的用户发表了标题为《{1}》的文章",article.User.UserName,article.Title);
}
}
}
}
}
这个程序运行的结果如下:

至此,我们没有手动做任何有关ORM配置工作,仅仅是将有关的表拖拽之后就编写使用NHibernate的代码,结果证明它和我们手动编写的效果一模一样,但是这个开发效率更高!
也许有些人觉得好奇,其实这也没有什么好奇的,我们没有做那些工作是因为这个VS2010下的NHibernate Model插件帮我们做了,打开那个后缀为nhmodel下的cs文件就可以看到如下结果:

至此,一切真相大白了。
结束语
在VS2010的在线扩展中有不少不错的东东,如果你认真去找肯定能找到一些免费的、有用的扩展,用熟了它们可以在开发中达到事倍功半的效果哦。在本篇周公仅仅是讲述了这个NHibernate相关的扩展,其实还有很多不错的东西,只不过周公也是刚刚开始用这些东西,等以后周公发现了更好的扩展也会再写文章介绍给大家的,如果大家发现了不错的也请分享一下。本文所使用到的数据库创建脚本和本解决方案代码稍后提供,敬请关注。
周公
2010-11-08

用好VS2010扩展管理器相关推荐

  1. VS2010与.NET4系列 23.Visual Studio 2010 扩展管理器(和新的 VS2010 PowerComman

    今天介绍VS2010中的扩展能力改进,以及一个微软发布的"PowerCommands for Visual Studio 2010"扩展. VS2010中的扩展能力 VS2010比 ...

  2. 运用扩展管理器完成flash图层的合并

    本例向朋友们介绍运用Flash 扩展管理器来完成图层的合并,在Flash中没有合并图层的功能,好在有一个叫JSFL的东西,它被称为flash IDE下的javaScript脚本,可以实现flash I ...

  3. 最好用的插件管理器:扩展管理器(支持:Chrome、Edge、Firefox)

    如果大家有插件太多不好管理的烦恼,强烈推荐大家体验一下这款插件管理器:扩展管理器. 扩展管理器 来大家一起看下扩展管理器的插件列表图:是不是一下就被这个款漂亮UI给吸引了. v2.1.0版本:插件列表 ...

  4. 卸载chrome_Chrome 浏览器必备“扩展管理工具”,一键管理 Chrome 扩展

    前言 丰富的扩展插件可以说是 Chrome 浏览器的灵魂了,但是扩展安装的多了,难免会引起卡顿,而且每次打开/关闭扩展都要进入扩展程序页面,切换起来很不方便. 下面分享的三款 Chrome 扩展管理工 ...

  5. GNU Emacs的终极扩展管理工具 — el-get

    Let's el-get together 通常我们在配置GNU Emacs的时候,都会安装一些第三方的lisp扩展来让GNU Emacs用起来更顺手,但是这些第三方lisp扩展的安装.升级和配置的方 ...

  6. Delta3D———通过游戏管理器组件和消息的扩展创建自定义行为 《转》

    游戏管理器组件给我们提供了在不修改游戏管理器的情况下灵活扩展我们的自定义行为的能力.游戏管理器组件是基于消息来工作的,定义自定义行为的基本 流程就是创建自定义类型的消息,在合适的时候发送消息,创建自定 ...

  7. 完美者右键扩展菜单管理器 1.2.1 中文绿色版

    软件名称: 完美者右键扩展菜单管理器 1.2.1 中文绿色版 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win7 / Vista / Win2003 / WinXP 软件大小: 590K ...

  8. 如何在vs2008,vs2010的解决方案管理器中快速定位文件位置

    1.如果当前文件正在代码编辑器中显示的话,你可以这样设置: Tools->Options->Projects and Solutions. 然后在右侧界面中,把 Track Active ...

  9. CleanMyMac扩展管理功能

    除了普通应用程序外,Mac系统中还有很多其它软件组件,它们一般被称为扩展.CleanMyMac扩展管理模块可以将这些扩展自动归类到对应分组,并轻松移除或者禁用Widget.应用程序插件.偏好设置面板. ...

最新文章

  1. Flex与.NET互操作(十二):FluorineFx.Net的及时通信应用(Remote Shared Objects)(三)
  2. facenet 中心损失函数(center loss)详解(代码分析)含tf.gather() 和 tf.scatter_sub()函数
  3. IAR环境中实现数据或函数的定位
  4. Scikit-learn:数据预处理Preprocessing data
  5. php防止视频资源被下载
  6. 3.4 51单片机-矩阵键盘
  7. 微信小程序服务器配置https站点
  8. CSS_19种鼠标指针光标样式
  9. C个java都是多线程语言对吗_Java里的多线程
  10. Leetcode 905. Sort Array By Parity
  11. MATLAB update出现未知错误unexpected error及Bundle#136 start failed的一种可能原因
  12. 重心法选址 matlab程序,Excel重心法选址计算题的详细步骤
  13. 共享办公室,推送企业紧密合作
  14. 设计模型之Visitor模式-图书馆管理系统应用C++实现
  15. list 根据某个字段分组
  16. Iass、Psss、Sass、Dass快速记忆
  17. echart——入门demo
  18. KRnano打开黑屏: FATAL ERROR,【解决办法】
  19. linux 摄像头 音频,调用宇视摄像机SDK获取IPC的音视频码流
  20. 陌陌和它的解药,聊聊出海社交产品的思路

热门文章

  1. 揭秘美国空军如何用AI技术提升“战斗力”
  2. 清华微电子副所长尹首一:中国AI芯片的技术路线最全面
  3. 5G风起,四大IoT迎风爆发!智能家居与电表高速增长
  4. 智能生产的现状与未来!
  5. 英特尔详解5G将如何助力VR的未来发展
  6. Waymo正式向真正“无人车”迈进,申请DMV远程监控许可证
  7. 腾讯首席战略官詹姆斯: 从互联网信息的永久性和稀缺性看腾讯的投资逻辑
  8. Amazon Go开门营业,号称无需现金、无需排队结账,现场究竟体验如何?
  9. AI时代数据之争,我们需要什么样的“数据权”?
  10. 从自来水公司到社会工作者再做运维,我深耕 IT 一线的这 8 年