• 如何让所有实体类用相同名称的主键(很有力的问题,比如所有表实体主键都用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" });

    怎么样,有点意思呀!

  • 相关阅读:
    PHP数组操作,数组排序,数组元素操作,数组元素定位
    提高PHP编程效率的53个要点
    javascript的一些简单的应用
    数字时钟
    一个限定变量范围的小技巧
    windows编程学习——1 关闭窗口不退出
    比木马NB多了
    模拟时钟
    恶搞程序——黑屏
    用白色画笔再画一遍,代替擦除
  • 原文地址:https://www.cnblogs.com/lori/p/2114228.html
Copyright © 2020-2023  润新知