zoukankan      html  css  js  c++  java
  • DDD实战2 创建领域基础类库项目

    1.创建领域基础类库项目 取名DDD.DomainBase 放置于基础设施层

    2.新建IEntity接口,内部创建2个属性 code和Id用于限定

    public interface IEntity
        {
            //业务标识符
            string Code { get; set; }
            //存数据到数据库里面时候的技术标识符
            Guid Id { get; set; }
        }

    3.新建IAggregationRoot接口 这个接口继承IEntity接口

    public interface IAggregationRoot:IEntity
        {
        }

     4.新建IValueObject接口,这个接口带一个Id属性,如果实体引用这个值对象就使用Id属性,如果直接把值对象写入实体就不用Id属性

    public interface IValueObject
        {
            Guid Id { get; set; }
        }

    5.创建工作单元接口,带Commit方法,并让这个接口继承IDisposeable接口

    public interface IUnitOfWork
        {
            void Commit();
        }

    6.创建IRepository接口,这个接口继承IUnitOfWork接口

     public interface IRepository:IUnitOfWork,IDisposable
        {
        }

    7.创建EFCoreRepository类对象,实现IRepository接口

    public class EFCoreRepository : IRepository
        {
            private readonly DbContext dbContext;
            public EFCoreRepository(DbContext context)
            {
                this.dbContext = context;
            }
            public void Commit()
            {
                try
                {
                    dbContext.SaveChanges();
                }
                catch (Exception ex)
                {
    
                    throw ex;
                }
            }
    
            public void Dispose()
            {
                dbContext.Dispose();
            }
        }

    8.创建这个类对象的时候里面要用到DbContext,这时要在项目中安装Microsoft.EntityFrameworkCore.Sqlservse包

  • 相关阅读:
    linux 常用技巧
    python做本地数据与数据库的校验
    locust性能测试简谈
    正则表达式-将字符串替换成json格式
    正则表达式
    robotframework接口测试案例
    robotframework环境搭建
    python数组
    配置java运行环境
    oracle详细安装教程(附带百度网盘资源)
  • 原文地址:https://www.cnblogs.com/wholeworld/p/8757141.html
Copyright © 2011-2022 走看看