架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 24893|回复: 0

[资料] EF Code Frist从实体模型更新到数据库

[复制链接]
发表于 2016-10-19 13:28:45 | 显示全部楼层 |阅读模式
第一次用模型来生成数据库,也是第一次接触code frist吧,大体是,代码优先。

第一步:

新建ADO.Net实体数据模型,选择“空Code Frist模型”,创建一个空的 Code First 模型作为使用代码设计您的模型的起点。之后,可以从您的模型生成数据库。
QQ截图20161019132347.jpg
然后,他会生成一个cs类文件。

第二步:

我们新建一个实体对象,如下:

父类:

  1. public enum Status
  2.     {
  3.         启用 = 10,
  4.         禁用 = 20
  5.     }

  6.     public class BaseModel
  7.     {
  8.         [Key]
  9.         public virtual int Id { get; set; }

  10.         [DataType(DataType.DateTime)]
  11.         public virtual DateTime CreateTime { get; set; }

  12.         public virtual Status Status { get; set; }
  13.     }
复制代码

  1. /// <summary>
  2.     /// 微信绑定数据库
  3.     /// </summary>
  4.     public class WeChatBinding : BaseModel
  5.     {
  6.         [StringLength(30)]
  7.         public string OpenId { get; set; }

  8.         [StringLength(30)]
  9.         public virtual string UserId { get; set; }
  10.     }
复制代码


第三步:

修改自动生成的cs类文件,如下:

  1. namespace DzGas.Services
  2. {
  3.     using System;
  4.     using System.Data.Entity;
  5.     using System.Linq;

  6.     public class SBDB : DbContext
  7.     {
  8.         //您的上下文已配置为从您的应用程序的配置文件(App.config 或 Web.config)
  9.         //使用“DzGasWechatDB”连接字符串。默认情况下,此连接字符串针对您的 LocalDb 实例上的
  10.         //“DzGas.Services.DzGasWechatDB”数据库。
  11.         //
  12.         //如果您想要针对其他数据库和/或数据库提供程序,请在应用程序配置文件中修改“DzGasWechatDB”
  13.         //连接字符串。
  14.         public SBDB()
  15.             : base("name=MyDBConnectString")
  16.         {
  17.         }

  18.         protected override void OnModelCreating(DbModelBuilder modelBuilder)
  19.         {
  20.             //当模型发生改变的时候,就删掉重新创建数据库。
  21.             Database.SetInitializer(new DropCreateDatabaseIfModelChanges<SBDB>());
  22.             base.OnModelCreating(modelBuilder);
  23.         }

  24.         //为您要在模型中包含的每种实体类型都添加 DbSet。有关配置和使用 Code First  模型
  25.         //的详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=390109。

  26.         // public virtual DbSet<MyEntity> MyEntities { get; set; }
  27.         public virtual DbSet<WeChatBinding> WeChatBinding { get; set; }
  28.     }
  29. }
复制代码



第四步:

配置web.config文件:

  1. <connectionStrings>
  2.   <add name="MyDBConnectString" providerName="System.Data.SqlClient" connectionString="Data Source=.;Initial Catalog=SBDb;user id=sa;password=123456"/>
  3. </connectionStrings>
复制代码


最后,运行!成功!

QQ截图20161019132036.jpg




上一篇:asp.net将appSettings写在外面的文件
下一篇:让Entity Framework启动不再效验__MigrationHistory表
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2026-10-29 03:36

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表