public override LambdaPathType ParsePath(string fullPath) { int index = fullPath.IndexOf(".", StringComparison.Ordinal); if (index == -1) { if (fullPath == singleEntityName) { return(LambdaPathType.Parameter); } else { return(state.ParsePath(fullPath)); } } string name = fullPath.Substring(0, index); string path = fullPath.Substring(index); if (singleEntityName != name) { return(state.ParsePath(fullPath)); } if (singleEntityMap.CheckIsField(path)) { return(LambdaPathType.Field); } else if (singleEntityMap.CheckIsRelateEntity(path)) { return(LambdaPathType.RelateEntity); } else if (singleEntityMap.CheckIsEntityCollection(path)) { return(LambdaPathType.RelateCollection); } else { return(LambdaPathType.None); } }
public override LambdaPathType ParsePath(string fullPath) { int index = fullPath.IndexOf(".", StringComparison.Ordinal); if (index == -1) { if (fullPath == singleEntityName) { return(LambdaPathType.Parameter); } else { throw new LambdaParseException(LambdaParseMessage.ExpressionFieldPathError, fullPath); } } string name = fullPath.Substring(0, index); string path = fullPath.Substring(index); if (singleEntityName != name) { throw new LambdaParseException(LambdaParseMessage.ExpressionFieldPathNotExists, fullPath); } if (singleEntityMap.CheckIsField(path)) { return(LambdaPathType.Field); } else if (singleEntityMap.CheckIsRelateEntity(path)) { return(LambdaPathType.RelateEntity); } else if (singleEntityMap.CheckIsEntityCollection(path)) { return(LambdaPathType.RelateCollection); } else { return(LambdaPathType.None); } }