zoukankan      html  css  js  c++  java
  • EsayUI + MVC + ADO.NET(仓储基础接口)

      1.RepositoryFramework(仓储接口:无外乎就是CRUD)

      1.IAddRepository(添加接口) 

    using System;
    
    namespace Notify.Infrastructure.RepositoryFramework
    {
        /// <summary>
        /// IAddRepository{Add单条数据的接口}
        /// </summary>
        /// <typeparam name="T">T</typeparam>
        public interface IAddRepository<in T> : IDisposable
        {
            /// <summary>
            /// Add
            /// </summary>
            /// <param name="entity">entity</param>
            /// <returns>返回结果</returns>
            void Add(T entity);
        }
    }

      2.IUpdateRepository(修改接接口)

    using System;
    
    namespace Notify.Infrastructure.RepositoryFramework
    {
        /// <summary>
        ///  IUpdateRepository{更新接口}
        /// </summary>
        /// <typeparam name="T">T</typeparam>
        public interface IUpdateRepository<in T> : IDisposable
        {
            /// <summary>
            /// Update
            /// </summary>
            /// <param name="entity">entity</param>
            /// <returns>返回结果</returns>
            void Update(T entity);
        }
    }

          3.IQueryRepository(查询接口)

      

    using System;
    
    namespace Notify.Infrastructure.RepositoryFramework
    {
        /// <summary>
        /// IQueryRepository{根据主键查询接口}.
        /// </summary>
        /// <typeparam name="TValue">实体</typeparam>
        public interface IQueryRepository<out TValue> : IDisposable
        {
            /// <summary>
            /// Query
            /// </summary>
            /// <param name="id">id</param>
            /// <returns>返回查询单条数据</returns>
            TValue Query(object id);
        }
    
        /// <summary>
        /// IQueryRepository{根据主键查询接口}.
        /// </summary>
        /// <typeparam name="TKey">Tkey</typeparam>
        /// <typeparam name="TValue">实体</typeparam>
        public interface IQueryRepository<in TKey,out TValue> : IDisposable
        {
            /// <summary>
            /// Query
            /// </summary>
            /// <param name="key">id</param>
            /// <returns>返回查询单条数据</returns>
            TValue Query(TKey key);
        }
    }

      4.IRemoveRepository(删除接口)

    using System;
    
    namespace Notify.Infrastructure.RepositoryFramework
    {
        /// <summary>
        /// IRepository{删除接口}
        /// </summary>
        /// <typeparam name="T">TKey</typeparam>
        public interface IRemoveRepository<in T> : IDisposable
        {
            /// <summary>
            /// Remove
            /// </summary>
            /// <param name="entity">T</param>
            /// <returns>返回结果</returns>
            void Remove(T entity);
        }
    }

          5.IRepository(仓储接口 CRUD汇总)

    using Notify.Infrastructure.DomainBase;
    
    namespace Notify.Infrastructure.RepositoryFramework
    {
        /// <summary>
        /// 仓储接口(CRUD)
        /// </summary>
        /// <typeparam name="TValue">实体</typeparam>
        public interface IRepository<TValue> : IAddRepository<TValue>, IRemoveRepository<TValue>, IUpdateRepository<TValue>, IQueryRepository<TValue> where TValue : IEntity
        {
        }
    
        /// <summary>
        /// 仓储接口(CRUD)
        /// </summary>
        /// <typeparam name="TKey">主键</typeparam>
        /// <typeparam name="TValue">实体</typeparam>
        public interface IRepository<in TKey, TValue> : IAddRepository<TValue>, IRemoveRepository<TValue>, IUpdateRepository<TValue>, IQueryRepository<TKey, TValue> where TValue : IEntity
        {
        }
    }

       上篇--项目架构

       下篇--工作单元

  • 相关阅读:
    元素单侧阴影效果
    有关动画的总结
    吸底效果
    使用seajs来引入js代码
    引用POPUI来实现弹窗效果,且弹窗中的内容可以点击事件
    Js文本溢出自动添加省略号ellipsis
    line-hieght与vertical-align的区别与联系
    实现文本框中输入限制字数的效果
    下拉菜单的实现
    基本SQL命令 (1.SQL命令使用规则/2.库管理/3.表管理/4.表记录管理/5.更改库,库的默认字符集/6.连接数据库的过程/7.数据类型)
  • 原文地址:https://www.cnblogs.com/liuxiaoji/p/4997049.html
Copyright © 2011-2022 走看看