/// <summary> /// 获取分组数据成员位图 /// </summary> /// <param name="group">分组</param> /// <returns>分组数据成员位图</returns> internal static MemberMap <valueType> GetCacheMemberMap(int group) { MemberMap <valueType> memberMap = getGroupMemberMap(group); if (memberMap != null) { SetIdentityOrPrimaryKeyMemberMap(memberMap = memberMap.Copy()); return(memberMap); } return(null); }
/// <summary> /// 更新缓存数据 /// </summary> /// <param name="value">缓存数据</param> /// <param name="newValue">更新后的新数据</param> /// <param name="oldValue">更新前的数据</param> /// <param name="updateMemberMap">更新成员位图</param> protected void update(valueType value, valueType newValue, valueType oldValue, MemberMap <modelType> updateMemberMap) { using (MemberMap <modelType> memberMap = MemberMap.Copy()) { memberMap.And(updateMemberMap); AutoCSer.MemberCopy.Copyer <modelType> .Copy(value, newValue, memberMap); memberMap.Xor(MemberMap); memberMap.And(MemberMap); AutoCSer.MemberCopy.Copyer <modelType> .Copy(oldValue, value, memberMap); AutoCSer.MemberCopy.Copyer <modelType> .Copy(newValue, value, memberMap); } }