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包

  • 相关阅读:
    Yii 动作过滤的方法
    artdialog
    第一天:安装nodejs
    yii模块下面的组件
    总是容易忘记 jquery ajax POST
    【来自简书】浏览器~加载,解析,渲染
    【收藏】九个PHP很有用的功能
    从理论到实践,全方位认识DNS(实践篇)
    从理论到实践,全方位认识DNS(理论篇)
    DNS解析过程原理
  • 原文地址:https://www.cnblogs.com/wholeworld/p/8757141.html
Copyright © 2011-2022 走看看