/// <summary> /// 考虑匿名函数构造函数参数和其只读属性的对应 /// </summary> /// <param name="memberInfo"></param> /// <returns></returns> public DbExpression GetMemberExpression(MemberInfo memberInfo) { memberInfo = memberInfo.AsReflectedMemberOf(this.ConstructorDescriptor.ConstructorInfo.DeclaringType); DbExpression ret = null; if (!this.SelectedMembers.TryGetValue(memberInfo, out ret)) { ParameterInfo p = null; if (!this.ConstructorDescriptor.MemberParameterMap.TryGetValue(memberInfo, out p)) { return(null); } if (!this.ConstructorParameters.TryGetValue(p, out ret)) { return(null); } } return(ret); }
/// <summary> /// 考虑匿名函数构造函数参数和其只读属性的对应 /// </summary> /// <param name="memberInfo"></param> /// <returns></returns> public DbExpression GetPrimitiveMember(MemberInfo memberInfo) { memberInfo = memberInfo.AsReflectedMemberOf(this.ObjectType); DbExpression ret = null; if (!this.PrimitiveMembers.TryGetValue(memberInfo, out ret)) { ParameterInfo p = null; if (!this.ConstructorDescriptor.MemberParameterMap.TryGetValue(memberInfo, out p)) { return(null); } if (!this.PrimitiveConstructorParameters.TryGetValue(p, out ret)) { return(null); } } return(ret); }
public IMappingObjectExpression GetComplexMemberExpression(MemberInfo memberInfo) { memberInfo = memberInfo.AsReflectedMemberOf(this.ConstructorDescriptor.ConstructorInfo.DeclaringType); IMappingObjectExpression ret = null; if (!this.ComplexMembers.TryGetValue(memberInfo, out ret)) { //从构造函数中查 ParameterInfo p = null; if (!this.ConstructorDescriptor.MemberParameterMap.TryGetValue(memberInfo, out p)) { return(null); } if (!this.ComplexConstructorParameters.TryGetValue(p, out ret)) { return(null); } } return(ret); }
public ComplexObjectModel GetComplexMember(MemberInfo memberInfo) { memberInfo = memberInfo.AsReflectedMemberOf(this.ObjectType); ComplexObjectModel ret = null; if (!this.ComplexMembers.TryGetValue(memberInfo, out ret)) { //从构造函数中查 ParameterInfo p = null; if (!this.ConstructorDescriptor.MemberParameterMap.TryGetValue(memberInfo, out p)) { return(null); } if (!this.ComplexConstructorParameters.TryGetValue(p, out ret)) { return(null); } } return(ret as ComplexObjectModel); }
public void AddComplexMemberExpression(MemberInfo memberInfo, IMappingObjectExpression moe) { memberInfo = memberInfo.AsReflectedMemberOf(this.ConstructorDescriptor.ConstructorInfo.DeclaringType); this.ComplexMembers.Add(memberInfo, moe); }
public void AddMappingMemberExpression(MemberInfo memberInfo, DbExpression exp) { memberInfo = memberInfo.AsReflectedMemberOf(this.ConstructorDescriptor.ConstructorInfo.DeclaringType); this.MappingMembers.Add(memberInfo, exp); }
public void AddNavMemberExpression(MemberInfo memberInfo, IMappingObjectExpression moe) { memberInfo = memberInfo.AsReflectedMemberOf(this.ConstructorDescriptor.ConstructorInfo.DeclaringType); this.SubResultEntities.Add(memberInfo, moe); }
public void AddCollectionMember(MemberInfo memberInfo, CollectionObjectModel model) { memberInfo = memberInfo.AsReflectedMemberOf(this.ObjectType); this.CollectionMembers.Add(memberInfo, model); }
public void AddPrimitiveMember(MemberInfo memberInfo, DbExpression exp) { memberInfo = memberInfo.AsReflectedMemberOf(this.ObjectType); this.PrimitiveMembers.Add(memberInfo, exp); }