EF+Mysql+DDD框架搭建(一)——code first准备

准备mysql for vs工具

mysql-connector-net-6.8.3.msi 网盘地址:http://pan.baidu.com/s/1jHDWINk

mysql-for-visualstudio-1.1.4.msi 网盘地址:http://pan.baidu.com/s/1eSwemno

打开VS工具-》库程序包管理器-》程序包管理器控制平台

安装EF和mysql依赖包

1.PM>  Install-Package MySql.Data.Entity -Version 6.9.8

2.PM>  Install-Package EntityFramework

安装完成之后配置数据库连接字符串connectionStrings

<connectionStrings>
    <add name="MyContext" connectionString="Data Source=localhost;port=3307;Initial Catalog=mybook;user id=root;password=root;" providerName="MySql.Data.MySqlClient" />
  </connectionStrings>

在web项目中model文件夹下创建Users实体和MyUserContext上下文对象

Users实体类

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace PMS.Web.Models
{
    /// <summary>
    /// users实体对象
    /// </summary>
    public class Users
    {
        public int Id { get; set; }
        public string UserName { get; set; }

        //默认string映射到mysql里是longtext类型的,加长度之后就变成varchar了
        [MaxLength(30)]
        public string PassWord { get; set; }
    }
}

MyUserContext上下文对象

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;

namespace PMS.Web.Models
{
    [DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
    public class MyUserContext : DbContext
    {
        public MyUserContext()
            : base("name=MyContext")//web.config中connectionstring的名字
        {
        }

        public DbSet<Users> Users { get; set; }
    }
}

HomeController.cs

using PMS.Web.Models;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace PMS.Web.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            InitData();
            return View();
        }

        private void InitData()
        {
            Database.SetInitializer(new DropCreateDatabaseAlways<MyUserContext>());
            var context = new MyUserContext();
            //插入一行值
            context.Users.Add(new Users { UserName = "EF6-MySQL-Code-First" });
            context.SaveChanges();
        }
    }
}

运行项目,如果出现“无法检查模型兼容性,因为数据库不包含模型元数据。只能检查使用 Code First 或 Code First 迁移创建的数据库的模型兼容性。”

在Visual Studio中对其进行迁移

1.PM> Enable-Migrations

2.配置Configuration的AutomaticMigrationsEnabled属性

namespace PMS.Web.Migrations
{
    using System;
    using System.Data.Entity;
    using System.Data.Entity.Migrations;
    using System.Linq;

    internal sealed class Configuration : DbMigrationsConfiguration<PMS.Web.Models.MyUserContext>
    {
        public Configuration()
        {
            AutomaticMigrationsEnabled = true;
        }

        protected override void Seed(PMS.Web.Models.MyUserContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data. E.g.
            //
            //    context.People.AddOrUpdate(
            //      p => p.FullName,
            //      new Person { FullName = "Andrew Peters" },
            //      new Person { FullName = "Brice Lambson" },
            //      new Person { FullName = "Rowan Miller" }
            //    );
            //
        }
    }
}

3.PM> Update-Database -Force

重新运行项目。此时已经可以正常运行

时间: 2024-10-17 10:07:45

EF+Mysql+DDD框架搭建(一)——code first准备的相关文章

.NET领域驱动开发(DDD)框架搭建

详细内容讲解:https://study.163.com/course/introduction/1005643030.htm?share=1&shareId=1142344671 内容:一步一步搭建一个实用的基于领域驱动设计(DDD)开发模式的一个项目开发框架.通过结合实际的代码应用让大家对领域驱动开发有一个更好的理解. 源码:https://github.com/lidingbin/MicBeach.Framework 原文地址:https://www.cnblogs.com/xiaoico

架构搭建----基于DDD领域驱动设计的WCF+EF+WPF分层框架(2)

写在最前面:转载请注明出处 目录置顶: 关于项目--------------------基于DDD领域驱动设计的WCF+EF+WPF分层框架(1) 架构搭建--------------------基于DDD领域驱动设计的WCF+EF+WPF分层框架(2) WCF服务端具体实现---------基于DDD领域驱动设计的WCF+EF+WPF分层框架(3) WCF客户端配置以及代理-----基于DDD领域驱动设计的WCF+EF+WPF分层框架(4) Domain具体实现------------基于DD

基于 ASP.NET Core 2.0 WebAPI 后台框架搭建(2) - EF Core (MySQL) CodeFirst 数据库迁移与依赖注入

概述 上一章,我们简单的搭建了依赖注入的三层架构,但是,没有真正的使用,而我们现在就使用MySQL数据,基于 EF Core 的 DbFirst 进行框架搭建. 微软爸爸官方文档:使用新数据库在 ASP.NET Core 上开始使用 EF Core    数据库表字段命名规范 步骤 1. 右击 Entity 项目,点击"管理NuGet程序包" 2. 安装以下三个包 Microsoft.EntityFrameworkCore     安装版本:2.1.0 Microsoft.Entity

WCF客户端配置以及代理-----基于DDD领域驱动设计的WCF+EF+WPF分层框架(4)

写在最前面:转载请注明出处 目录置顶: 关于项目--------------------基于DDD领域驱动设计的WCF+EF+WPF分层框架(1) 架构搭建--------------------基于DDD领域驱动设计的WCF+EF+WPF分层框架(2) WCF服务端具体实现---------基于DDD领域驱动设计的WCF+EF+WPF分层框架(3) WCF客户端配置以及代理-----基于DDD领域驱动设计的WCF+EF+WPF分层框架(4) Domain具体实现------------基于DD

基于DDD领域驱动设计的WCF+EF+WPF分层框架

目录置顶: 关于项目--------------------基于DDD领域驱动设计的WCF+EF+WPF分层框架(1) 架构搭建--------------------基于DDD领域驱动设计的WCF+EF+WPF分层框架(2) WCF服务端具体实现---------基于DDD领域驱动设计的WCF+EF+WPF分层框架(3) WCF客户端配置以及代理-----基于DDD领域驱动设计的WCF+EF+WPF分层框架(4) Domain具体实现------------基于DDD领域驱动设计的WCF+EF

WCF服务端具体实现---------基于DDD领域驱动设计的WCF+EF+WPF分层框架(3)

写在最前面:转载请注明出处 目录置顶: 关于项目--------------------基于DDD领域驱动设计的WCF+EF+WPF分层框架(1) 架构搭建--------------------基于DDD领域驱动设计的WCF+EF+WPF分层框架(2) WCF服务端具体实现---------基于DDD领域驱动设计的WCF+EF+WPF分层框架(3) WCF客户端配置以及代理-----基于DDD领域驱动设计的WCF+EF+WPF分层框架(4) Domain具体实现------------基于DD

基于 ASP.NET Core 2.0 WebAPI 后台框架搭建(4) - EF Core CodeFirst 数据库创建

概述 在 基于 ASP.NET Core 2.0 WebAPI 后台框架搭建(2) - EF Core (MySQL) CodeFirst 数据库迁移与依赖注入 一文中,我们介绍如何快速以CodeFirst快速搭建数据库,这一章,我们来完善一下创建数据库中可以添加的验证与约束. 微软爸爸官方文档:Entity Framework Core 数据库操作 (1) 数据库迁移  add-migration [任一名称,须唯一] (2) 更新数据库  update-database (3) 删除数据库迁

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) 前言:这篇博客开始我们便一步一步的来实现这个权限系统的初步设计-框架搭建,首先我要说的是我们需要开发工具Visual Studio 2012或者10也行,其次是我们要有SQL Server数据库,如果是Visual Studio 2010的话,你还要安装MVC4的开发文件,这个是吗?我不记得了,谁可以回答我一下的,我一直用2012,都是集成

.Net框架搭建之1、SQL Server EF MVC简单三层框架

.Net简单三层框架简介 简单三层框架,是.Net开发中最最基础的框架了,由 数据访问层.逻辑处理层.表示层组成.一般情况下,在项目中数据模型Model层也是单独一层,但是只是单纯的数据模型不算在业务层划分当中. 好了,框架搭建,如果不了解,可能会觉得难以下手,了解之后,自然知道怎么做,只是其中的步骤,比起单纯的功能开发,是要繁琐不少,下面我们来一步一步搭建属于自己的框架,这里只列出重要步骤,其他未提到的细节可自行摸索. 数据模型Model层创建 数据模型层,首先要创建数据库,再从数据库生成EF