예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
 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;
         }
     }
 }