EF配置,开发前的准备及步骤。

使用V22013和EF6.1。

1.使用VS新建MVC项目。

2.创建实体类。

3.配置web.config的数据库链接字符串。

<connectionStrings>
    <add name="SQLConnString" connectionString="Server=地址;Database=数据库名;integrated security=true;User Id=账户;Password=password" providerName="System.Data.SqlClient"/>
  </connectionStrings>

4.创建继承DbContex的上下本。并指定数据库。

public OrderDbContext(string “SQLConnString”) : base(“SQLConnString”)

5.DbContex映射数据库。

public DbSet<Order> Orders { get; set; }

6.DbContex配置字段限制条件。两种方式,一种是直接在OnModelCreating写。还有一种是单独写配置文件,建议另外一种。

protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Configurations.Add(new OrderConfig());
        }

7.编写配置文件OrderConfig。

 public class OrderConfig : EntityTypeConfiguration<Order>
    {
        public OrderConfig()
        {
            this.Property(o => o.Name).HasMaxLength(50);
            this.Property(o => o.Address).HasMaxLength(50);
        }
    }

8.初始化数据库。可配置策略。下一章介绍策略。

public OrderDbContext(string ConnectionString)
            : base(ConnectionString)
        {
            Database.SetInitializer<OrderDbContext>(new OrderInitializer());
        }

 public class OrderInitializer : CreateDatabaseIfNotExists<OrderDbContext>
    {
        protected override void Seed(OrderDbContext context)
        {

//唯一
            context.Database.ExecuteSqlCommand("CREATE UNIQUE INDEX IX_Order_Name ON Orders (Name)");
        }
    }

注意:仅仅要一调用OrderDbContext里面的方法,即生成数据库。

经验总结13--EF配置的更多相关文章

  1. 李洪强iOS开发本人集成环信的经验总结_02_基本配置

     李洪强iOS开发本人集成环信的经验总结_02_基本配置 来到APPdelegate中做一些配置 01 - 导入头文件 02 - 在didFinishLaunchingWithOptions用法总结 ...

  2. mysql 5.7.13 安装配置方法图文教程(win10) (转)

    http://www.jb51.net/article/87152.htm ***************************** MySQL是一款关系型数据库管理系统,是由Oracle旗下公司M ...

  3. hadoop生态搭建(3节点)-13.mongodb配置

    # 13.mongodb配置_副本集_认证授权# ==================================================================安装 mongod ...

  4. JUnit4.13环境配置

    Junit 4.13环境配置 JUnit是一个强大的单元测试工具.它可以针对某一个特定类的所有方法进行精确打击.这个东西具体怎么使用,留在以后说.这次给大家说说idea下配置JUnit环境的方法. 1 ...

  5. mysql 5.7.13 安装配置方法(linux)-后期部分运维

    mysql 5.7.13 安装配置方法图文教程(linux) 学习了:https://www.cnblogs.com/zhao1949/p/5947938.html /usr/local/mysql是 ...

  6. VSCode配置MSVC+VSCode使用easyx库,2021.5.13日配置

    VSCode配置MSVC+VSCode使用easyx库,2021.5.13日配置~~ 想必很多人和我一样,想用vscode编程c++,easyx库不支持MinGW,一般人都是直接使用vs2019安装e ...

  7. EF配置模型

    配置方法 EF里面的默认配置有两个方法,一个是用Data Annotations(在命名空间System.ComponentModel.DataAnnotations;),直接作用于类的属性上面,还有 ...

  8. EF 配置实现建表与迁移

    通过EF 作为操作数据库的工具有一段时间了,也做了几个相对不大的项目,慢慢的也对EF的使用摸索出来了一些规则,虽然说不是技术难点,但是,我说的是但是,能够提高我们开发效率的棉花糖有时我们还是必须要吃的 ...

  9. hive0.13.1配置hwi

    1 寻找hive-hwi-*.war文件 不清楚什么原因在hive0.13.1版本中的lib文件夹下没有hive-hwi-0.13.0.war,也就是没有*.war的文件. 所以用hive 0.12. ...

  10. 在IntelliJ IDEA 13中配置OpenCV的Java开发环境

    准备工作: 下载IDEA 13(这里以版本13为例,后面简称IDEA): 下载Java JDK(用于配置基本的Java开发环境): 下载OpenCV 2.4.9(这里以版本2.4.9为例,据这篇文章说 ...

随机推荐

  1. SQL查询几种的区别。

    最近看了几篇SQL查询的文章做一下总结哦,大概简记如下: SQL查询的实质是,是指从数据库中取得数据的子集,可以先取列子集,然后再取符合条件的行子集. 1.单表查询: SELECT [Name] ,[ ...

  2. 啰里吧嗦kafka

    1.kafka是什么 kafka官网: http://kafka.apache.org/ kafka是一种高吞吐量的分布式发布订阅消息系统,用它可以在不同系统中间传递分发消息 2.zookeeper是 ...

  3. 撩课-Web大前端每天5道面试题-Day26

    1.vuejs与angularjs以及react的区别? .与AngularJS的区别 相同点: 都支持指令:内置指令和自定义指令. 都支持过滤器:内置过滤器和自定义过滤器. 都支持双向数据绑定. 都 ...

  4. RabbitMQ--学习资源汇

    1.RabbitMQ 实战教程 文集(alibaba) 2.RabbitMQ从入门到精通(9篇系列博文 )(anzhsoft2008 ) 3. RabbitMQ目录(nick's blog)   使用 ...

  5. Unix Programming :文件IO

    文件描述符常量(unistd.h): STDIN_FILENO STDOUT_FILENO STDERR_FILENO 通常这些常量分别对应于数字0,1,2 文件操作需要头文件 fcntl.h ,一些 ...

  6. web页面相关的一些常见可用字符介绍——张鑫旭

    by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1623 正文开始之前先 ...

  7. okhttp3带cookie请求

    Request经常都要携带Cookie,上面说过request创建时可以通过header设置参数,Cookie也是参数之一.就像下面这样: Request request = new Request. ...

  8. linux 用户管理修改用户信息、密码状态、删除用户、退出登陆、切换用户

    修改用户信息usermoduseradd支持的选项usermod都支持passwd有两个选项-l(在密码串前面加了两个叹号),-u,usermod有两个选项:-L 临时锁定用户(Lock)(在密码串前 ...

  9. 混淆矩阵(Confusion matrix)的原理及使用(scikit-learn 和 tensorflow)

    原理 在机器学习中, 混淆矩阵是一个误差矩阵, 常用来可视化地评估监督学习算法的性能. 混淆矩阵大小为 (n_classes, n_classes) 的方阵, 其中 n_classes 表示类的数量. ...

  10. leetCode之二叉树数中序遍历(递归实现)

    1.题目描述 2.分析 对于树来说,由于其结构是递归定义的,所以对二叉树很多算法使用递归是最容易的.反倒是使用循环方式需要借助特殊的数据结构来实现. 3.代码 vector<int> in ...