[前言] 如果是Code First老鸟或者对Entity Framework不感兴趣,就不用浪费时间往下看了。

记得09年第一次接触ORM————Linq2Sql,从此对她的爱便一发不可收拾,一年后,新的工作用上了EF,突然感觉彷佛是生活中出现了一个与你的爱人一样优秀但却没有你爱人缺点的Girl,真的难以抗拒。后来又因为各种缘故,接触EF越来越少,直到最近没那么忙才重拾EF。

关于EF我就不废话了,如果是EF新人(对Code First而言我也绝对是个新人),个人觉得还是从Code First去学吧。

瞎诌结束,以下为本文主题。

由于园子里关于EF的介绍已经有很多,但是本人做Code First还是走了不少曲折之路(主要在Code=>DB),故而编写本文分享。在Code First中,编写完代码并运行之后,我们的Model会同步到Db中,但是往往我们需要的是编写完Model就生成数据库,而不是等UI部分完成并运行之后才看到数据库,借助NuGet程序包管理器可以让我们即时完成Code=>DB。

准备:1.本人开发工具为VS2012,使用的是.NET Framework 4.5(EF5);
  2.然后确保已在VS扩展中安装了最新的“NuGet程序包管理器”;
  3.常用的三行NuGet用于EF命令(当然可以直接用命令“get-help EntityFramework”获取):“Enable-Migrations”   --在对应项目中启用、“Add-Migration <名称>”  --搭建基架、“Update-Database”  --提交(应用基于代码的迁移)

  4.新建类库项目“CodeFirst”。

 

开始:

1.在vs打开“程序包管理控制台”,输入“get-help NuGet”回车,可以查看一些命令。

使用NuGet助您玩转代码生成数据————Entity Framework 之 Code First

 

2. 在程序包管理控制台输入“Install-Package EntityFramework”,此过程必须保证机子联网,如未联网,本人有个法子,就是在项目中新建Entity Framework(如“ADO.NET实体数据模型”)项,然后再删除该项即可。上述命令执行前确保如下图所示说明

使用NuGet助您玩转代码生成数据————Entity Framework 之 Code First

  此时可以看到项目多了个文件“packages.config”,同样在引用下多了“EntityFramework”的程序集。而在解决方案目录下则多了文件夹“packages”(物理目录,非解决方案目录),假如我们要拷贝项目,则应连同该目录拷贝,否则到别的目录下再编译项目之前仍然重新需要执行“Install-Package EntityFramework”,这是在将解决方案添加到源码管理时需要注意的地方。

 

3.项目下添加项目文件夹“Models”,并在该文件夹编写以下三个类与一个枚举(EF5对枚举的支持是非常棒的):

    /// <summary>
    /// 性别
    /// </summary>
    public enum Gender
    {
        Female = 0,
        Male,
        LadyBoy
    }
enum Gender

相关文章:

  • 2021-12-03
  • 2022-12-23
  • 2021-07-06
  • 2021-07-24
  • 2021-12-26
  • 2022-12-23
  • 2021-07-16
  • 2021-07-02
猜你喜欢
  • 2021-07-21
  • 2022-02-23
  • 2021-09-04
  • 2022-12-23
  • 2022-12-23
  • 2021-12-19
相关资源
相似解决方案