博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Entity Framework Code First使用者的福音 --- EF Power Tool使用记之一(转载)
阅读量:7231 次
发布时间:2019-06-29

本文共 2203 字,大约阅读时间需要 7 分钟。

好像蛮长时间没有新文章带给大家了。前几天出差再加上忙着公司里的活儿,几乎都没时间上博客园了。今天正好有些时间,为大家简单介绍EF产品组新发布的一个牛逼的小工具——EF

Power Tool(翻译的话,好像就是牛逼工具哦?)
下次会为大家深入解析这个小工具。  最先看到这个工具是在EF产品组最新的博客文章上,。粗略读了下,感觉很酷,马上下载下来试了试,果然很酷,。

大致来说,这个工具有这样几个功能:

1) 按照现有数据库结构,生成Code First POCO class、DbContext class和相应的mapping class。

2) 以designer模式或XML模式查看POCO class对应的Entity Data Model (edmx) 。

3) 查看Entity Data Model所对应的DDL。

4) 生成EF Generated View提高EF性能。

 

一起来体验下。当然请先下载安装这个小工具,安装前必须先安装。

首先在数据库端创建两个表Parent和Child,存在一对多的关系。

 

创建一个C#项目,并右击项目名。在弹出的菜单中选择Entity Framework –> Reverse Engineer Code

First。

 

接着需要选择相应的数据库连接:

 

接着,神奇的一幕发生了。小工具帮助我们生成了不少class:

 

相应的POCO class, DbContext class和mapping fluent API都自动生成了,真是太轻松了。这样大大方便了我们学习EF

4.1的相关fluent API。

public class Parent { public Parent() { this.Children = new List
(); } public int ParentID { get; set; } public string Name { get; set; } public virtual ICollection
Children { get; set; } }
 
public class EFToolContext : DbContext { static EFToolContext() { Database.SetInitializer
(null); } public DbSet
Children { get; set; } public DbSet
Parents { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove
(); modelBuilder.Configurations.Add(new ChildMap()); modelBuilder.Configurations.Add(new ParentMap()); } }
public class ParentMap : EntityTypeConfiguration
{ public ParentMap() { // Primary Key this.HasKey(t => t.ParentID); // Properties this.Property(t => t.ParentID) .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None); this.Property(t => t.Name) .IsRequired() .HasMaxLength(50); // Table & Column Mappings this.ToTable("Parent"); this.Property(t => t.ParentID).HasColumnName("ParentID"); this.Property(t => t.Name).HasColumnName("Name"); } }

拥有了这些class之后,我们还可以通过小工具来查看相应的Entity Data Model以及对应的DDL。更牛的是,小工具还可以为我们生产EF

Generated View的代码,以提高我们使用EF和Code First时的性能。

 

值得一提的是,这里的Entity Data Model,Entity Data Model XML和Entity Data Model

DDL都是只读的,它们被生成在C:\Users\[username]\AppData\Local\Temp\文件夹下。

 

在选择Optimize Entity Data Model之后,小工具会为你的项目增加一个.View.cs文件,期中就包括了Generated

Views的代码。有关Generated View的更详细信息,请参见:

是不是觉得这个工具很酷呢?赶紧下载吧!

你可能感兴趣的文章
我的友情链接
查看>>
CACTI 95th模版导入 及95th模板下载
查看>>
请求头header里的contentType为application/json和capplition/x-www-form-urlencoded
查看>>
迁云的那些事
查看>>
jquery ui 和ext.js一些区别,欢迎给位指正批评
查看>>
clj-xmemcached: memcached client for clojure
查看>>
SecureCRT日志自动记录
查看>>
磁盘 io 测试
查看>>
客户不提供开发者账号打包上传应用的处理方法
查看>>
Netfilter与FreeBSD的网络包过滤
查看>>
闲谈IPv6-现状和过渡
查看>>
我的友情链接
查看>>
Xcode3.2.6+iOS4.2無法上傳iPhone
查看>>
XMPP开发环境的搭建
查看>>
Docker 数据卷,数据卷容器详细介绍
查看>>
使用rman备份到挂载的NFS目录,提示ORA-19504-27054报错
查看>>
通过 rsync 搭建 CentOS 本地 yum 源服务器
查看>>
hadoop hive 常见问题解决持续更新
查看>>
如何做不浮躁的人
查看>>
终端服务设施方案共享(Part3)
查看>>