Beispiel #1
0
        private static string GetTableNameFromAttribute([NotNull] ILambdaParameterDeclaration parameterDeclaration)
        {
            const string tableNameAttribute = "Table";

            var parameterScalarType = parameterDeclaration.DeclaredElement.Type.GetScalarType();
            var resolveResult       = parameterScalarType?.Resolve();
            var declarations        = resolveResult?.DeclaredElement?.GetDeclarations().ToArray() ?? Array.Empty <IDeclaration>();
            var classDeclaration    = declarations.OfType <IAttributesOwnerDeclaration>().FirstOrDefault();
            var tableAttribute      = classDeclaration?.Attributes.FirstOrDefault(x => x.Name.NameIdentifier.Name == tableNameAttribute);

            return(tableAttribute?.Arguments.FirstOrDefault()?.Value?.ConstantValue.Value?.ToString());
        }
 public SelectLinqExpression(ILambdaParameterDeclaration lamdbaArgument, IExpression lambdaExpression) : base(lamdbaArgument, lambdaExpression)
 {
 }
 protected LinqExpression(ILambdaParameterDeclaration lamdbaArgument, IExpression lambdaExpression)
 {
     this.LamdbaArgument   = lamdbaArgument;
     this.LambdaExpression = lambdaExpression;
 }
 public override Expression VisitLambdaParameterDeclaration(ILambdaParameterDeclaration lambdaParameterDeclarationParam, IMetadataResolver context)
 {
     return(new ParameterExpressionBuilder(lambdaParameterDeclarationParam, context).Build());
 }