Entity Framework Code First使用者的福音 --- EF Power Tool使用记之一
2011-05-24 17:24
537 查看
好像蛮长时间没有新文章带给大家了。前几天出差再加上忙着公司里的活儿,几乎都没时间上博客园了。今天正好有些时间,为大家简单介绍EF产品组新发布的一个牛逼的小工具——EF
PowerTool(翻译的话,好像就是牛逼工具哦
?)
下次会为大家深入解析这个小工具。最先看到这个工具是在EF产品组最新的博客文章上,http://blogs.msdn.com/b/adonet/archive/2011/05/18/ef-power-tools-ctp1-released.aspx。粗略读了下,感觉很酷,马上下载下来试了试,果然很酷,http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d/。
大致来说,这个工具有这样几个功能:
1)按照现有数据库结构,生成CodeFirstPOCOclass、DbContextclass和相应的mappingclass。
2)以designer模式或XML模式查看POCOclass对应的EntityDataModel(edmx)。
3)查看EntityDataModel所对应的DDL。
4)生成EFGeneratedView提高EF性能。
一起来体验下。当然请先下载安装这个小工具,安装前必须先安装EF4.1。
首先在数据库端创建两个表Parent和Child,存在一对多的关系。
创建一个C#项目,并右击项目名。在弹出的菜单中选择EntityFramework–>ReverseEngineerCode
First。
接着需要选择相应的数据库连接:
接着,神奇的一幕发生了。小工具帮助我们生成了不少class:
相应的POCOclass,DbContextclass和mappingfluentAPI都自动生成了,真是太轻松了。这样大大方便了我们学习EF
4.1的相关fluentAPI。
拥有了这些class之后,我们还可以通过小工具来查看相应的EntityDataModel以及对应的DDL。更牛的是,小工具还可以为我们生产EF
GeneratedView的代码,以提高我们使用EF和CodeFirst时的性能。
值得一提的是,这里的EntityDataModel,EntityDataModelXML和EntityDataModel
DDL都是只读的,它们被生成在C:\Users\[username]\AppData\Local\Temp\文件夹下。
在选择OptimizeEntityDataModel之后,小工具会为你的项目增加一个.View.cs文件,期中就包括了Generated
Views的代码。有关GeneratedView的更详细信息,请参见:http://msdn.microsoft.com/en-us/library/bb896240.aspx
。
是不是觉得这个工具很酷呢?赶紧下载吧!http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d/
PS1:顺便为大家奉上新鲜出炉的微软一站式示例代码库 中文宣传视频,绝对给力,我翻译的字幕哟
:
PS2:为大家带来另一个超级酷的小工具:MSDN论坛桌面小工具,绝对给力!欢迎使用!(我也出了不少力啊
)
也欢迎到MSDN中文论坛ADO.NET与LINQ论坛来提问EF的问题啊,可以试试直接报我的名字MichaelSun,哈哈!
如需转发请注明原文出处,谢谢:/article/5308147.html
PowerTool(翻译的话,好像就是牛逼工具哦
?)
下次会为大家深入解析这个小工具。最先看到这个工具是在EF产品组最新的博客文章上,
大致来说,这个工具有这样几个功能:
1)按照现有数据库结构,生成CodeFirstPOCOclass、DbContextclass和相应的mappingclass。
2)以designer模式或XML模式查看POCOclass对应的EntityDataModel(edmx)。
3)查看EntityDataModel所对应的DDL。
4)生成EFGeneratedView提高EF性能。
一起来体验下。当然请先下载安装这个小工具,安装前必须先安装
首先在数据库端创建两个表Parent和Child,存在一对多的关系。
创建一个C#项目,并右击项目名。在弹出的菜单中选择EntityFramework–>ReverseEngineerCode
First。
接着需要选择相应的数据库连接:
接着,神奇的一幕发生了。小工具帮助我们生成了不少class:
相应的POCOclass,DbContextclass和mappingfluentAPI都自动生成了,真是太轻松了。这样大大方便了我们学习EF
4.1的相关fluentAPI。
publicclassParent { publicParent() { this.Children=newList<Child>(); } publicintParentID{get;set;} publicstringName{get;set;} publicvirtualICollection<Child>Children{get;set;} }
publicclassEFToolContext:DbContext
{
staticEFToolContext()
{
Database.SetInitializer<EFToolContext>(null);
}
publicDbSet<Child>Children{get;set;}
publicDbSet<Parent>Parents{get;set;}
protectedoverridevoidOnModelCreating(DbModelBuildermodelBuilder)
{
modelBuilder.Conventions.Remove<IncludeMetadataConvention>();
modelBuilder.Configurations.Add(newChildMap());
modelBuilder.Configurations.Add(newParentMap());
}
}
.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}
publicclassParentMap:EntityTypeConfiguration<Parent>
{
publicParentMap()
{
//PrimaryKey
this.HasKey(t=>t.ParentID);
//Properties
this.Property(t=>t.ParentID)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
this.Property(t=>t.Name)
.IsRequired()
.HasMaxLength(50);
//Table&ColumnMappings
this.ToTable("Parent");
this.Property(t=>t.ParentID).HasColumnName("ParentID");
this.Property(t=>t.Name).HasColumnName("Name");
}
}
拥有了这些class之后,我们还可以通过小工具来查看相应的EntityDataModel以及对应的DDL。更牛的是,小工具还可以为我们生产EF
GeneratedView的代码,以提高我们使用EF和CodeFirst时的性能。
值得一提的是,这里的EntityDataModel,EntityDataModelXML和EntityDataModel
DDL都是只读的,它们被生成在C:\Users\[username]\AppData\Local\Temp\文件夹下。
在选择OptimizeEntityDataModel之后,小工具会为你的项目增加一个.View.cs文件,期中就包括了Generated
Views的代码。有关GeneratedView的更详细信息,请参见:
。
是不是觉得这个工具很酷呢?赶紧下载吧!
PS1:顺便为大家奉上新鲜出炉的
:
PS2:为大家带来另一个超级酷的小工具:MSDN论坛桌面小工具,绝对给力!欢迎使用!(我也出了不少力啊
)
也欢迎到MSDN中文论坛
如需转发请注明原文出处,谢谢:
相关文章推荐
- Entity Framework Code First使用者的福音 --- EF Power Tool使用记之一(转载)
- Entity Framework Code First使用者的福音 --- EF Power Tool使用记之二(问题探究)
- (转 )Entity Framework Code First使用者的福音 --- EF Power Tool使用记之二(问题探究)
- Entity Framework Code First使用者的福音 --- EF Power Tool使用记之一
- Entity Framework Code First使用者的福音 --- EF Power Tool使用记之一(转)
- Entity Framework Code First使用者的福音 --- EF Power Tool使用记之一
- Entity Framework Code First使用者的福音 --- EF Power Tool使用记之二(问题探究)(转)
- Entity Framework Code First使用者的福音 --- EF Power Tool使用记之二(问题探究)
- Entity Framework Code First ---EF Power Tool 和MySql一起使用遇到的问题
- Entity Framework Code First ---EF Power Tool 和MySql一起使用遇到的问题
- Entity Framework Code First ---EF Power Tool 和MySql一起使用遇到的问题
- Entity Framework Code First ---EF Power Tool MySql
- 第三篇:Entity Framework CodeFirst & Model 映射 续篇 EntityFramework Power Tools 工具使用
- 第三篇:Entity Framework CodeFirst & Model 映射 续篇 EntityFramework Power Tools 工具使用
- 第三篇:Entity Framework CodeFirst & Model 映射 续篇 EntityFramework Power Tools 工具使用
- EF Power Tools Beta 2 生成 Entity Framework Code First 提示 参数错误 hresult e_invalidarg
- EF Power Tools Beta 2 生成 Entity Framework Code First 提示 参数错误 hresult e_invalidarg
- [转]Using Entity Framework (EF) Code-First Migrations in nopCommerce for Fast Customizations
- Entity Framework Code-First(23):Entity Framework Power Tools
- 使用 Entity Framework Code First