如何让所有实体类用相同名称的主键(很有力的问题,比如所有表实体主键都用ID)
时间:2022-05-07
本文章向大家介绍如何让所有实体类用相同名称的主键(很有力的问题,比如所有表实体主键都用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("nr共同的主键值是:"+entity.ID);
}
}
在方法里调用:
bobo<Race> b = new bobo<Race>();
b.hello(new Race { Id = 1, Name = "zzl" });
怎么样,有点意思呀!
- HTML自适应手机屏
- 常见的正则表达式解读释义
- .Net魔法堂:log4net详解
- CentOS6.5菜鸟之旅:安装SUN JDK1.7和Tomcat7
- 协议森林10 魔鬼细节 (TCP滑窗管理)
- CMD魔法堂:获取进程路径和PID值的方法集
- .Net魔法堂:提取注释生成API文档
- CMD魔法堂:CMD进入指定目录
- Apache IIS Tomcat共存,配置全能服务器
- 协议森林11 涅槃 (TCP重新发送)
- CentOS6.5菜鸟之旅:关于搜索的shell命令
- 协议森林12 天下为公 (TCP堵塞控制)
- .Net魔法堂:AssemblyInfo.cs文件详解
- 本地php环境不支持curl_exec的解决办法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- keras中的History对象用法
- php session_decode函数用法讲解
- 解决python对齐错误的方法
- 详解pyinstaller生成exe的闪退问题解决方案
- PHP递归算法的简单实例
- Yii2框架操作数据库的方法分析【以mysql为例】
- 使用OpenCV实现道路车辆计数的使用方法
- python中tab键是什么意思
- PHP实时统计中文字数和区别
- PHP单例模式实例分析【防继承,防克隆操作】
- Python基于network模块制作电影人物关系图
- tp5(thinkPHP5框架)使用DB实现批量删除功能示例
- 统计PHP目录中的文件数方法
- python json.dumps() json.dump()的区别详解
- Win10下用Anaconda安装TensorFlow(图文教程)