手撸ORM浅谈ORM框架之Update篇

手撸ORM浅谈ORM框架之基础篇

手撸ORM浅谈ORM框架之Add篇

手撸ORM浅谈ORM框架之Update篇

手撸ORM浅谈ORM框架之Delete篇

手撸ORM浅谈ORM框架之Query篇

手撸ORM浅谈ORM框架之Update篇

后续待定。。。。。。

前人栽树,后人乘凉

BaseRepository-》GetCurrentTableName、GetExcludeKeyAllFields已经在《手撸ORM浅谈ORM框架之Add篇》BaseRepository里面的方法,不重复搬砖了。

承上启下,传递希望

BaseRepository-》GetKey获取表主键,目前自动递增主键使用的KeyAttribute标识自动递增主键,更新不需要区分主键类型获取当前实体所有的主键作为where更新条件;如果项目中需要使用复合主键、指定主键(按照业务单元生成的业务所需主键,例如: SN2020102600001等),获取Key的方法加入自定义的xxxAttribute作为条件之一,来满足当前的业务需要;

1 /// <summary> 2 /// get key-atttribute 3 /// </summary> 4 /// <returns>return key-attribute</returns> 5 private List<PropertyInfo> GetKey() 6 { 7 List<PropertyInfo> list = new List<PropertyInfo>(); 8 PropertyInfo[] properties = typeof(T).GetProperties(); 9 foreach (var item in properties) 10 { 11 if (item.CustomAttributes.Any(c => c.AttributeType.Name == nameof(KeyAttribute))) 12 { 13 list.Add(item); 14 } 15 } 16 return list; 17 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyjyxz.html