Ejemplo n.º 1
0
        public static ISqlExpression TableExpr <T>([NoEnumeration] ITable <T> table, [SqlQueryDependent] TableQualification qualification)
            where T : notnull
        {
            var name = table.TableName;

            if (qualification != TableQualification.None)
            {
                var dataContext = GetDataContext(table);
                if (dataContext == null)
                {
                    throw new LinqToDBException("Can not provide information for qualified table name");
                }

                var sqlBuilder = dataContext.CreateSqlProvider();
                var sb         = new StringBuilder();

                sqlBuilder.BuildObjectName(
                    sb,
                    new SqlObjectName(
                        table.TableName,
                        Server: (qualification & TableQualification.ServerName) != 0 ? table.ServerName   : null,
                        Database: (qualification & TableQualification.DatabaseName) != 0 ? table.DatabaseName : null,
                        Schema: (qualification & TableQualification.SchemaName) != 0 ? table.SchemaName   : null),
                    ConvertType.NameToQueryTable,
                    true,
                    (qualification & TableQualification.TableOptions) != 0 ? table.TableOptions : TableOptions.NotSet);

                name = sb.ToString();
            }

            return(new SqlExpression(name, Precedence.Primary));
        }
Ejemplo n.º 2
0
        public static string TableName <T>([NoEnumeration] ITable <T> table, [SqlQueryDependent] TableQualification qualification)
            where T : notnull
        {
            var result = table.TableName;

            if (qualification != TableQualification.None)
            {
                var dataContext = GetDataContext(table);
                if (dataContext == null)
                {
                    throw new LinqToDBException("Can not provide information for qualified table name");
                }

                var sqlBuilder = dataContext.CreateSqlProvider();
                var sb         = new StringBuilder();
                sqlBuilder.ConvertTableName(sb,
                                            (qualification & TableQualification.ServerName) != 0 ? table.ServerName   : null,
                                            (qualification & TableQualification.DatabaseName) != 0 ? table.DatabaseName : null,
                                            (qualification & TableQualification.SchemaName) != 0 ? table.SchemaName   : null,
                                            table.TableName,
                                            (qualification & TableQualification.TableOptions) != 0 ? table.TableOptions : TableOptions.NotSet);
                result = sb.ToString();
            }

            return(result);
        }
        public async Task <IActionResult> CreateQualification(TableQualification model)
        {
            if (ModelState.IsValid)
            {
                TableQualification qualification = await _context.TableQualification.FirstOrDefaultAsync
                                                       (i => i.Qualification == model.Qualification);

                if (qualification == null)
                {
                    await _context.TableQualification.AddAsync(model);

                    await _context.SaveChangesAsync();

                    return(RedirectToAction("Create"));
                }
            }
            return(View());
        }
Ejemplo n.º 4
0
        public static ISqlExpression TableExpr <T>([NoEnumeration] ITable <T> table, [SqlQueryDependent] TableQualification qualification)
        {
            var name = table.TableName;

            if (qualification != TableQualification.None)
            {
                var dataContext = GetDataContext(table);
                if (dataContext == null)
                {
                    throw new LinqToDBException("Can not provide information for qualified table name");
                }

                var sqlBuilder = dataContext.CreateSqlProvider();
                var sb         = new StringBuilder();
                sqlBuilder.ConvertTableName(sb,
                                            (qualification & TableQualification.DatabaseName) != 0 ? table.DatabaseName : null,
                                            (qualification & TableQualification.SchemaName) != 0 ? table.SchemaName   : null,
                                            table.TableName);
                name = sb.ToString();
            }

            return(new SqlExpression(name, Precedence.Primary));
        }
Ejemplo n.º 5
0
 public static ISqlExpression TableExpr(object tableExpr, [SqlQueryDependent] TableQualification qualification)
 {
     throw new LinqToDBException("'Sql.TableExpr' is server side only method and used only for generating custom SQL parts");
 }