Entity Framework Code First
Power Tool(翻译的话,好像就是牛逼工具哦 ?)
下次会为大家深入解析这个小工具。 最先看到这个工具是在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) 按照现有数据库结构,生成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性能。
一起来体验下。当然请先下载安装这个小工具,安装前必须先安装 EF4.1 。
首先在数据库端创建两个表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<Child>(); } public int ParentID { get; set; } public string Name { get; set; } public virtual ICollection<Child> Children { get; set; } }
public class EFToolContext : DbContext { static EFToolContext() { Database.SetInitializer<EFToolContext>( null ); } public DbSet<Child> Children { get; set; } public DbSet<Parent> Parents { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove<IncludeMetadataConvention>(); modelBuilder.Configurations.Add( new ChildMap()); modelBuilder.Configurations.Add( new ParentMap()); } }
public class ParentMap : EntityTypeConfiguration<Parent> { 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的更详细信息,请参见: http://msdn.microsoft.com/en-us/library/bb896240.aspx 。
是不是觉得这个工具很酷呢?赶紧下载吧! http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d/
PS: 为大家带来另一个超级酷的小工具:MSDN论坛桌面小工具,绝对给力!欢迎使用!(我也出了不少力啊 )
也欢迎到MSDN中文论坛 ADO.NET与LINQ 论坛来提问EF的问题啊,可以试试直接报我的名字Michael Sun,哈哈!
如需转发请注明原文出处,谢谢: http://www.cnblogs.com/LingzhiSun/archive/2011/05/24/EFPowerTool_1.html
Entity Framework 小技巧四 —— 如何使用NoTracking查询得到Detached状态的实体?
摘要: Entity Framework 实用小技巧一则 —— 如何使用NoTracking查询得到Detached状态的实体?微软MSDN论坛资深技术支持工程师为您呈现。 阅读全文
posted @ 2011-04-27 09:16 LingzhiSun 阅读(1515) | 评论 (6) 编辑
Entity Framework 小技巧三 —— 如何在导入集合类型的Navigation Property时增加过滤条件?
摘要: Entity Framework 实用小技巧一则 —— 如何在导入集合类型的Navigation Property时增加过滤条件?微软MSDN论坛资深技术支持工程师为您呈现。 阅读全文
posted @ 2011-04-19 09:11 LingzhiSun 阅读(1562) | 评论 (22) 编辑
Entity Framework 小技巧二 —— 如何在EF中直接运行SQL命令
摘要: Entity Framework 实用小技巧一则 —— 如何在EF中直接运行SQL命令。微软MSDN论坛资深技术支持工程师为您呈现。 阅读全文
posted @ 2011-04-15 11:09 LingzhiSun 阅读(1745) | 评论 (13) 编辑
Entity Framework 4.1 DbContext使用记之三——如何玩转实体的属性值?
摘要: Entity Framework 4.1 DbContext使用记之三——如何玩转实体的属性值? EF4.1系列博文第三篇!微软MSDN论坛资深技术支持工程师为您呈现。 阅读全文
posted @ 2011-04-13 09:32 LingzhiSun 阅读(2596) | 评论 (35) 编辑
Entity Framework 小技巧一 —— 如何从DbContext得到其内部封装的ObjectContext
摘要: Entity Framework 实用小技巧一则 —— 如何从DbContext得到其内部封装的ObjectContext。微软MSDN论坛资深技术支持工程师为您呈现。 阅读全文
posted @ 2011-03-30 09:10 LingzhiSun 阅读(1683) | 评论 (10) 编辑
Entity Framework 4.1 DbContext使用记之二——如何玩转本地实体? DbSet.Local属性的使用与实现
摘要: Entity Framework 4.1 DbContext使用记之二——如何玩转本地实体? DbSet.Local属性的使用与实现。EF4.1系列博文第二篇!微软MSDN论坛资深技术支持工程师为您呈现。 阅读全文
posted @ 2011-03-25 09:44 LingzhiSun 阅读(2973) | 评论 (23) 编辑
Entity Framework 4.1 DbContext使用记之一——如何查找实体? DbSet.Find函数的使用与实现
摘要: Entity Framework 4.1 DbContext使用记之一——如何查找实体? DbSet.Find函数的使用与实现。EF4.1系列博文第一篇!微软MSDN论坛资深技术支持工程师为您呈现。 阅读全文
posted @ 2011-03-22 17:49 LingzhiSun 阅读(2762) | 评论 (19) 编辑
Entity Framework 4.1 RC 发布
摘要: Entity Framework 4.1 RC今晨发布。新增功能包括DbContext API和Code First。 阅读全文
posted @ 2011-03-16 16:16 LingzhiSun 阅读(484) | 评论 (2) 编辑
Visual Studio 2010 SP1已提供下载,Entity Framework性能有所提升
摘要: Visual Studio 2010 SP1已提供下载,Entity Framework性能有所提升 阅读全文
posted @ 2011-03-11 09:59 LingzhiSun 阅读(410) | 评论 (1) 编辑
微软MSDN论坛好帮手 —— 给力呈现
摘要: MSDN论坛好帮手 阅读全文
Entity Framework Code First使用者的福音 --- EF Power Tool使用记之一
摘要: Entity Framework Power Tool简介。微软MSDN论坛资深技术支持工程师为您呈现。 阅读全文
posted @ 2011-05-24 17:24 LingzhiSun 阅读(1198) | 评论 (13) 编辑
Entity Framework 小技巧五 —— 如何得到EF查询生成的SQL?
摘要: Entity Framework 实用小技巧一则 —— 如何得到EF查询生成的SQL?微软MSDN论坛资深技术支持工程师为您呈现。 阅读全文
posted @ 2011-05-05 09:07 LingzhiSun 阅读(1672) | 评论 (17) 编辑
作者: Leo_wl
出处: http://www.cnblogs.com/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息查看更多关于Entity Framework Code First的详细内容...