protected virtual OeOperationConfiguration[] GetOperationsCore(Type dataContextType) { MethodInfo[] methodInfos = GetMethodInfos(); var operations = new OeOperationConfiguration[methodInfos.Length]; for (int i = 0; i < methodInfos.Length; i++) { operations[i] = GetOperationConfiguration(methodInfos[i]); } return(operations); }
protected virtual IReadOnlyList <OeOperationConfiguration> GetOperationsCore(Type dataContextType) { IReadOnlyList <MethodInfo> methodInfos = GetMethodInfos(); var operations = new List <OeOperationConfiguration>(methodInfos.Count); for (int i = 0; i < methodInfos.Count; i++) { OeOperationConfiguration operationConfiguration = GetOperationConfiguration(methodInfos[i]); if (operationConfiguration != null) { operations.Add(operationConfiguration); } } return(operations); }
private static void FixOperations(OeDataAdapter dataAdapter, OeEdmModelBuilder modelBuilder) { OeOperationConfiguration[] operations = dataAdapter.OperationAdapter.GetOperations(); if (operations != null) { foreach (OeOperationConfiguration operation in operations) { String methodInfoName = nameof(OrderContext) + "." + operation.MethodInfoName.Split('.').Last(); var fixOperation = new OeOperationConfiguration(operation.Name, typeof(OrderContext).Namespace, methodInfoName, operation.ReturnType, operation.IsDbFunction); foreach (OeOperationParameterConfiguration parameter in operation.Parameters) { fixOperation.AddParameter(parameter.Name, parameter.ClrType); } modelBuilder.AddOperation(fixOperation); } } }
private static void BuildOperations(OeDataAdapter dataAdapter, OeEdmModelBuilder modelBuilder) { MethodInfo[] operations = dataAdapter.GetOperations(); if (operations != null) { foreach (MethodInfo methodInfo in operations) { var description = (DescriptionAttribute)methodInfo.GetCustomAttribute(typeof(DescriptionAttribute)); String name = description == null ? methodInfo.Name : description.Description; OeOperationConfiguration functionConfiguration = modelBuilder.AddFunction(null, name); foreach (ParameterInfo parameterInfo in methodInfo.GetParameters()) { functionConfiguration.AddParameter(parameterInfo.Name, parameterInfo.ParameterType); } functionConfiguration.ReturnType = methodInfo.ReturnType; } } }