用好VS2010扩展管理器

原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 http://zhoufoxcn.blog.51cto.com/792419/419268

 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
Entity Developer是一个强大的ORM设计器,支持 ADO.NET Entity Framework, NHibernate, LinqConnect 和 LINQ to SQL。你可以使用模型首先和数据首先的方法设计ORM模型并生成C#或者Visual Basic .NET代码。它引入了新的方法设计ORM模型,提高开发效率,简化数据库应用的开发。 可视化ORM模型设计器并支持代码生成 Entity Developer允许你可视化创建和编辑NHibernate,Entity Framework,LinqConnect 和 LINQ to SQL模型,无需一行XML代码。它支持创建各种一映射,如表分割,映射实体到多个表,复杂类型,继承分层,从Sel ect语句创建实体,从SQL代码创建方法等。由于使用了类似T4的模板,所以代码生成非常灵活,另外你还能创建自己的模板用于其他的编程语言。 多ORM支持 Entity Developer 支持 NHibernate, Entity Framework,LinqConnect 和 LINQ to SQL模型。 强大的代码生成 Entity Developer提供基于T4类似的模板生成代码框架,针对不同使用情况提供大量预定义的模板,模板化生成上下文,实体,映射,支持流,属性和XML映射,包括持久层感知和持久层无感知实体,支持验证框架等。另外模板提供自动生成MVC Controller和视图的功能。Data Transfer Object 提供转换器类和Data Annotations metadata类。 适用于各种.NET ORM的可视设计器 Entity Developer可以帮助您在一个统一的界面中为各种.NET ORM设计模型。您可以在一个工具中获得对所有ORM的支持,或者您可以购买单独的版本,与其中一个受支持的ORM一起使用。 支持EntityFramework和EF Core 对于Entity Framework v1-v6以及最新的EF Core2.2,我们的设计器提供了比EDM设计器更多的设计和代码生成功能。 Entity框架核心 设计实体框架核心模型可视化。通过大量设置获得模型优先和数据库优先支持。 NHibernate 直观地编辑NHibernate模型,为NHibernate 3或4生成XML,流畅或Loquacious映射和配置。 LINQ to SQL 直观地设计LINQ to SQL模型。 获得更好的模型优先和数据库优先支持,并轻松将模型更改应用于数据库。 LinqConnect 积极支持Devart的LINQ to SQL兼容ORM以及更多功能,Entity Developer作为其ORM设计器。 Telerik数据访问 可视化设计最新Telerik数据访问版本的模型,并通过Fluent Mapping API生成仅代码映射。 功能丰富的设计器,具有强大的代码生成功能 无缝Visual Studio集成 支持Model-First和Database-First 可视化创建几乎所有类型的映射 将模型更改应用于数据库,反之亦然 强大的模型重构 优化大型模型的工作 设计时LINQ / ESQL / HQL查询执行 查看和编辑源表中的数据 背景模型验证 基于T4模板的代码生成 大量预定义模板 生成C#或VB代码 每个类的文件,部分类生成 自定义属性支持 自定义模板支持 带语法高亮的模板编辑器 高质量的生成代码 高度可定制的一代
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值