zoukankan      html  css  js  c++  java
  • 如何让所有实体类用相同名称的主键(很有力的问题,比如所有表实体主键都用ID)

    这个问题比较有力量,哈哈!

    例如:有两个表userbases和products

    两个表的主键分别为UserID和ProductID,那么,我想问有没有一种方法把它们的主键统一起来,用一个字段名称表示呢?

    事实上,这个问题可以从一个基础知识说起!

    接口,没错就是接口,我们知道接口中的一切,在它的实现类中都必须被实现,想一下,如果在接口中定义一个object类型或者string类型的字段,让所以子类都为它赋值,那不就OK了吗?

    哈哈,说干就干

        /// <summary>
        /// 实体模块统一接口
        /// </summary>
        public interface IEntity
        {
            /// <summary>
            /// 为了主键统一,而手动设置的
            /// </summary>
            string ID { get; }
        }

    那如果有一个userbase实体类,它会继承这个统一接口,它的代码就变成了:

        public class Race : IEntity
        {
            public int Id { get; set; }
            public string Name { get; set; }
     
            #region IEntity Members
     
            public string ID
            {
                get { return Id.ToString(); }
            }
     
            #endregion
        }

    这样,基础有了,看了例子:

     class bobo<TEntity> where TEntity : class,IEntity
        {
            public void hello(TEntity entity)
            {
                Console.WriteLine("\n\r共同的主键值是:"+entity.ID);
            }
        }
    在方法里调用:
      bobo<Race> b = new bobo<Race>();
      b.hello(new Race { Id = 1, Name = "zzl" });

    怎么样,有点意思呀!

  • 相关阅读:
    一些至理名言
    移除快捷方式上面那个丑陋的小箭头
    一些浏览器插件
    yahoo给出的关于网站优化的建议
    javascript 事件流
    关于mongodb的一些笔记
    WebStorm
    给go添加各种package
    工具类 util.Date 日期类
    几种简单排序算法
  • 原文地址:https://www.cnblogs.com/lori/p/2114228.html
Copyright © 2011-2022 走看看