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

在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”回车,可以查看一些命令。

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

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

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

/// 

<summary>
    /// 性别
    /// </summary>
    public enum Gender
    {
        Female = 0,
        Male,
        LadyBoy
    }
/// <summary>
    /// 人名
    /// </summary>
    public class PersonName
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string FullName
        {
            get
            {
                return string.Format("{0} {1}", FirstName, LastName);
            }
        }
    }
public abstract class BaseModel
    {
        public BaseModel()
        {
            this.CreatedTime = DateTime.Now;
            this.LastUpdatedTime = DateTime.Now;
        }

        public DateTime CreatedTime { get; set; }
        public string Creater { get; set; }
        public DateTime LastUpdatedTime { get; set; }
        public string LastUpdater { get; set; }
    }
[Table("UserInfo")]
    public class UserModel : BaseModel
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.None)]
        public string LoginName { get; set; }

        [MaxLength(50)]
        public string Password { get; set; }

        public int Age { get; set; }

        public Gender Gender { get; set; }

        public DateTime? LastLoginTime { get; set; }

        public PersonName Name { get; set; }
    }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索entityframework
, string
, vs code
, set
, 项目
, get
, public
, model first
, code first
, code first实体类
, EF5
, code first
nuget
framework bitcode、framework codesign、code first、ef code first、codefirst 创建数据库,以便于您获取更多的相关知识。

时间: 2024-11-03 18:39:50

使用NuGet助您玩转代码生成数据:Entity Framework 之Code First的相关文章

codefrist-Entity Framework使用Code First 插入数据时,多出来额外的数据

问题描述 Entity Framework使用Code First 插入数据时,多出来额外的数据 在项目总使用Code First遇到坑爹的问题了 例如我有如下类: public class Catalog { public Int32 ID { get; set; } public String CatalogName { get; set; } public Catalog() { } public Catalog(Int32 ID, String Name) { this.ID = ID;

玩转大数据:需要知晓的12种工具

本文讲的是玩转大数据:需要知晓的12种工具,无论是在构建大数据的应用程序,还是仅仅只想从开发的移动应用中得到一点点启发,程序员现在比以往任何时候都需要数据分析工具.这绝对是一个好东西,所以很多公司从程序员的需求和技能出发,构建了一些数据分析工具. 在过去的几年里,Derrick看到了很多初创公司,各类项目以及开发工具等等,它们都旨在为程序员带来先进的数据分析能力.有时候,程序员们会使用简单的脚本开发出强大的显示效果,或者在开发过程中使用一种更简易的方式来实现数据的交付功能,Derrick相信这是

【大数据新手上路】“零基础”系列课程--如何通过大数据开发套件Data IDE玩转大数据

免费开通大数据服务:https://www.aliyun.com/product/odps 老板每天都要出这些业务数据(销售总额.总交易量.总点击次数.总加入购物车次数.总加入收藏夹次数...),我得想个一劳永逸的方法了- 幸好,我有数加神器大数据开发套件Data IDE,搞定业务工作流调度,每日定时自动执行任务,分分钟输出计算结果. 妈妈再也不用担心我焦头奋战了-- 本教程是一个大数据开发套件Data IDE零基础教程,通过Data IDE将多源异构的数据集导入云端MaxCompute,进行计

Facebook教你如何玩转大数据

不论"大数据"概念是不是个陷阱,我们的时代,互联网巨头坐拥海量信息是无人可以否认的事实,社区产品和社交产品赖以生存的基础就是从用户那儿来的数据. 他们都是怎样八仙过海.各显神通让你感受到大数据的?比如,去年年终的时候,你肯定看到众多好友在微信朋友圈儿分享了一张"订制"的图片,在微信产品成长历程的时间轴中标注你加入的时点:你可能在登录豆瓣电台后,才发现通过一个特别的回忆通道,豆瓣已经帮你记录了一年来的音乐足迹,从哪天注册哪天听第一首歌哪天听的很悲伤--无一遗漏:如果你

规划为道 同方数据资源体系玩转大数据

文章讲的是规划为道 同方数据资源体系玩转大数据,大数据的应用前景之大已经毋庸置疑.据Gartner发布的<大数据驱动基础架构>报告显示,2013年大数据带动的IT支出有望达到340亿美元;到2016年,全球在大数据方面的总支出将达到2320亿美元.Gartner还强调,大数据工具在2014年将被视为一种必要投资. 当前,越来越多企业将大数据的分析结果作为其判断未来发展的依据.同时,传统的商业预测逻辑正日益被新的大数据预测所取代.不过,海量数据只有在得到有效治理的前提下才能进一步发展其业务价值.

SQL Server:大企业如何玩转大数据?

文章讲的是SQL Server:大企业如何玩转大数据,"得大数据者得天下." 推崇大数据时代的变革者们对此坚信不疑. 在大数据时代,谁能有效地管理和控制数据,谁就有可能成为世界霸主.中国石油化工集团公司信息系统管理部副主任齐学忠也认同这个观点.不过,有效的管理和控制数据并非一件容易的事情,齐学忠就经常为中石化的合同管理而头疼. 营业收入超4000亿美元,全球排名领先的巨型企业--中国石化,其合同管理就是不折不扣的"大数据".中国石化集团拥有众多分子公司,总部和所有下

正确的理解,是玩转大数据的前提

眼下,无论是高校还是科研机构,以"大数据"为关键词的研讨会一拨接着一拨,云计算.物联网.智能终端--这些新概念串烧着出现,仿佛"大数据"正撬动着一个非"技术宅"免进的新世界. 到底什么是大数据的真面目?英国帝国理工学院终身教授.帝国理工数据科学研究所所长郭毅可给出的却是一个举重若轻的解释."大数据首先不是概念,而是一种现象.一种新发现的资源.就如同人类发现了新的石油一样--对大数据的发掘意味着可以创造财富,也正因此,大数据会引发一系列的

抗衡互联网冲击,购物中心要玩转大数据

大数据.云计算.互联网--这些虚拟空间的名词正在跟实体产业融合,互联网与传统行业之间的界限越来越模糊,飞凡.喵街.大众点评加上不计其数的O2O产品让实体商业变得越来越好玩,人们在虚虚实实之间享受着"互联网+"带来的方便.经济和愉悦感. 与此同时,还有一大批实体商业正在忙碌地编织着适合自己的互联网.大型的购物中心开始铺设免费Wi-Fi.导入Beacon微定位技术.建设在线商城.开展朋友圈营销--不亦乐乎地为迈进"互联网+"新时代准备着. 智慧商业,过去只存在于人们唠嗑

经验之谈:如何像Google一样玩转大数据

文章讲的是经验之谈:如何像Google一样玩转大数据,像Google一样玩转大数据到底难不难?企业能从Google身上借鉴哪些经验?本文就将进行深入的讨论. 简单来说,Google处理大数据的方式可以总结为以下几点: 1.收集原始数据,捕捉每一个网站的内容,电子邮件或者Cookie,然后抽取出关键的信息 2.为这些信息创建复杂的关联索引以及与广告相关的索引 3.将索引和相应的内容存储在分布式的服务器上 4.当用户浏览网页进行搜索,或者查看电子邮件时,Google就会将用户的请求放到一个复杂的"翻