private SqlFragment GenerateForMaintenanceCreateRelation(GenerateContext context) { var operate = (DbCreateDropRelationOperate)context.Data.Operate; var fragment = new CreateRelationFragment(context, operate.ForeignName) { Foreign = new ObjectNameFragment(context, operate.Foreign.Name, operate.Foreign.Schema), Principal = new ObjectNameFragment(context, operate.Principal.Name, operate.Principal.Schema), ForeignKeys = operate.Pairs.Select(a => a.ForeignKey.Name).ToArray(), PrincipalKeys = operate.Pairs.Select(a => a.PrincipalKey.Name).ToArray() }; return(fragment); }
/// <summary> /// 生成创建关系语句片段。 /// </summary> /// <param name="context">生成上下文。</param> /// <returns>语句片段。</returns> protected virtual SqlFragment GenerateForMaintenanceCreateRelation(GenerateContext context) { var operate = (DbCreateDropRelationOperate)context.Data.Operate; var name = context.ConvertName(operate.Name); var fragment = new CreateRelationFragment(context, name) { Foreign = new ObjectNameFragment(context, operate.Foreign.Name, operate.Foreign.Schema), Principal = new ObjectNameFragment(context, operate.Principal.Name, operate.Principal.Schema), ForeignKeys = operate.Pairs.Select(a => a.ForeignKey.Name).ToArray(), PrincipalKeys = operate.Pairs.Select(a => a.PrincipalKey.Name).ToArray() }; if (operate.Action != null) { var action = operate.Action; fragment.Update = action.Update; fragment.Delete = action.Delete; } return(fragment); }