zoukankan      html  css  js  c++  java
  • DDD实战3 领域层的设计

    1.新建一个解决方案文件夹 取名Product

    2.在Product解决方案文件夹下面创建一个.net core 类库项目 取名Product.Domain,引用项目DDD.Base项目

    3.在类库下面新建一个文件夹 取名POCOModels,在这个文件夹下面新建两个partial的类 分别取名ProductSPU和ProductSKU

    4.新建一个IProductContext的接口

    /// <summary>
        /// 上下文接口,之所以创建这个接口是因为,在本例子中会使用EFCore的上下文接口,但是以后也可能用别的接口
        /// </summary>
        public interface IProductContext
        {
        }

    5新建一个ProductEFCoreContext的类,在这个类中创建两个属性DbSet<ProductSPU> ProductSPU 和 DbSet<ProductSKU> ProductSKU

       因为当前项目引用的DDD.Base项目安装了EntityFrameWorkCore.SqlServer 所以当前项目默认带了DbSet

    //注意这里继承了DbContext
        public class ProductEFCoreContext:DbContext,IProductContext
        {
            public DbSet<ProductSKU> ProductSKU { get; set; }
            public DbSet<ProductSPU> ProductSPU { get; set; }
    
            protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
            {
                optionsBuilder.UseSqlServer("Server=localhost;DataBase=DDD1DB;User Id=sa;Password=0");
            }
        }
        //干完上面这个就要就对应的项目生成数据库脚本
        //dotnet ef migrations add InitialCreate
        //然后
        //dotnet ef database update

    6.生成数据库,记住要安装两个包EntityFrameWorkCore.SqlServer 和 EntityFrameWorkCore.SqlServer.Tools。此外还要修改一下csproj文件。此处安装EntityFrameWorkCore.SqlServer 我觉得有点像是一个BUG

    7.创建一个Models文件夹 在其中新建ProductSPU和ProductSKU 的另外两个Partial 注意命名空间要修改一致。在这两个类中分别创建两个创建当前类的方法。

    8.关从上下文生成数据库要注意的 是:生成数据库使用的两行命令,不是在nuget控制台中执行的,而应该是进入类库项目所在文件夹 然后cmd出控制台,在控制台中国使用两行命令生成数据库(先生成迁移脚本,再执行迁移脚本)

    9.因为重装系统,安装了新的vs,进行步骤8的时候 有报错如下:

    面对这个问题的解决方法是 将csproj里面的信息做如下修改:

    执行成功 如下:

     再执行脚本 成功如下:

  • 相关阅读:
    CnForums1.0 Alpha 开始试运行
    asp.net Forums2.0修改密码后无法登陆问题——都是Cache惹的祸
    CnForums1.0 Alpha RC1 发布
    Docker: Nvidia Driver, Nvidia Docker 推荐安装步骤
    Docker: docker pull, wget, curl, git clone 等如何更快?
    DL4J实战之三:经典卷积实例(LeNet5)
    纯净Ubuntu16安装CUDA(9.1)和cuDNN
    DL4J实战之四:经典卷积实例(GPU版本)
    JAVA 中静态块、静态变量加载顺序详解
    设计模式之单例模式
  • 原文地址:https://www.cnblogs.com/wholeworld/p/8776617.html
Copyright © 2011-2022 走看看