现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

用好VS2010扩展管理器

2014-08-07 21:25 工业·编程 ⁄ 共 3421字 ⁄ 字号 暂无评论

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相关的扩展,其实还有很多不错的东西,只不过周公也是刚刚开始用这些东西,等以后周公发现了更好的扩展也会再写文章介绍给大家的,如果大家发现了不错的也请分享一下。本文所使用到的数据库创建脚本和本解决方案代码请到http://zhoufoxcn.download.csdn.net/下载名为“MindScape NHibernate Model示例代码(VS2010扩展)”的文件。

      作者:周金桥

      给我留言

      留言无头像?