Entity Framework学习笔记_1.三种开发模式

Entity Framework的三种开发模式

一、模型优 EF Designer to a New Database (Model First) 

2012-11-16 9-44-49

1、在建模建立主从表关联时,子表使用主表表名+关键列作为其关联字段,如Post对象的BlogID

2、导航属性需要根据实际情况设置复数,否则默认与表名相同的单数形式,如上图的Blog对象的Posts

3、对象实体的集合名称在VS2012中文版时会自动变为Blog集,注意修改为Blogs

二、数据库优先 EF Designer to an Existing Database (Database First)

 

三、代码优先 Code First to a New Database

public class Blog
{
    public int ID { get; set; }
    public string Name { get; set; }

    public virtual List<Post> Posts { get; set; }
}
public class Post
{
    public int ID { get; set; }
    public string Title { get; set; }
    public string Content { get; set; }

    //public int BlogID { get; set; }
    public virtual Blog Blog { get; set; }
}

使用代码优先时,应显示定义关联属性,如没有显式定义,如上图属性BlogID,则生成数据库时会根据其关系增加“表名_关键列”格式的关联属性列,如下图Blog_ID

2012-11-16 10-27-57

实体对象发生变化时可使用代码优先迁移工具实现,Tools -> Library Package Manager -> Package Manager Console,

运行命令Enable-Migrations、Add-Migration、Update-Database三步实现

 

Code First to an Existing Database 参考 http://msdn.microsoft.com/en-us/data/jj200620

利用EF Power Tools扩展工具实现数据库到实体对象的工程反向。

posted @ 2012-11-16 09:54  行野摄色  阅读(3823)  评论(1编辑  收藏  举报