public override IEnumerable <CodeExpression> NewCtorArgs(CGenModelInterpreter aModelInterpreter, CCodeDomBuilder aDomBuilder, CRflProperty aProperty) { var aPTyp = aModelInterpreter.GetReturnTyp(aProperty); var aPTypNme = aModelInterpreter.GetTypName(aPTyp, false); var aCTyp = aProperty.DeclaringTyp; var aCTypNme = aCTyp.Name; var aCdTypRef = new CodeTypeReference(aCTypNme); var aCdTypRefExp = new CodeTypeReferenceExpression(aCdTypRef); var aFldNme = "_" + aProperty.Name + "_" + aModelInterpreter.Tok.Trg_P_Fk_Sfx + aModelInterpreter.Tok.Dom_F_Mta_P_Sfx; //aProperty.Name.TrimStart(aModelInterpreter.Tok.Trg_P_Parent_Pfx).TrimStart(aPTypNme) + aModelInterpreter.Tok.Trg_P_Fk_Sfx + aModelInterpreter.Tok.Trg_C_Mta_P_Rel_Sfx; var aFldRefExp = new CodeFieldReferenceExpression(aCdTypRefExp, aFldNme); yield return(aFldRefExp); }
public override IEnumerable <CodeExpression> NewCtorArgs(CGenModelInterpreter aModelInterpreter, CCodeDomBuilder aDomBuilder, CRflProperty aProperty) { var aCTyp = aModelInterpreter.GetReturnTyp(aProperty); var aGenarateReverseNavigation = aCTyp.Interpret(() => bool.Parse(aCTyp.GetAttributeValue(aModelInterpreter.Tok.Mdl_T_A_GenerateReverseNavigation, () => true.ToString()))); if (aGenarateReverseNavigation) { var aCTypNme = aModelInterpreter.GetTypName(aCTyp, true); var aCdTypRef = new CodeTypeReference(aCTypNme); var aCdTypRefExp = new CodeTypeReferenceExpression(aCdTypRef); var aPrpNme = aModelInterpreter.Tok.GetRelationyMetaInfoPropertyName(aModelInterpreter.GetR11CReverseNavigationRefName(aProperty)); var aFldRefExp = new CodePropertyReferenceExpression(aCdTypRefExp, aPrpNme); yield return(aFldRefExp); } }