Remotion.Linq.SqlBackend.UnitTests.MappingResolverStub.ResolveTableInfo C# (CSharp) Метод

ResolveTableInfo() публичный Метод

public ResolveTableInfo ( UnresolvedTableInfo tableInfo, UniqueIdentifierGenerator generator ) : IResolvedTableInfo
tableInfo Remotion.Linq.SqlBackend.SqlStatementModel.Unresolved.UnresolvedTableInfo
generator UniqueIdentifierGenerator
Результат IResolvedTableInfo
    public virtual IResolvedTableInfo ResolveTableInfo (UnresolvedTableInfo tableInfo, UniqueIdentifierGenerator generator)
    {
      switch (tableInfo.ItemType.Name)
      {
        case "Cook":
        case "Knife":
        case "Kitchen":
        case "Restaurant":
        case "Company":
          return CreateResolvedTableInfo (tableInfo.ItemType, generator);
        case "Chef":
          return new ResolvedSimpleTableInfo (tableInfo.ItemType, "dbo."+tableInfo.ItemType.Name + "Table", generator.GetUniqueIdentifier ("t"));
      }

      throw new UnmappedItemException ("The type " + tableInfo.ItemType + " cannot be queried from the stub provider.");
    }

Usage Example

Пример #1
0
        private static void AppendCreateTableScript(StringBuilder sb, Type type)
        {
            var mappingResolver = new MappingResolverStub();
            var generator       = new UniqueIdentifierGenerator();
            var tableInfo       = (ResolvedSimpleTableInfo)mappingResolver.ResolveTableInfo(new UnresolvedTableInfo(type), generator);
            var entity          = mappingResolver.ResolveSimpleTableInfo(tableInfo, generator);

            var columnDeclarations = from c in entity.Columns
                                     let sqlTypeName = GetColumnType(c)
                                                       select string.Format("[{0}] {1}", c.ColumnName, sqlTypeName);

            var    primaryKeyColumns    = entity.Columns.Where(c => c.IsPrimaryKey).Select(c => c.ColumnName).ToArray();
            string primaryKeyConstraint = "";

            if (primaryKeyColumns.Length > 0)
            {
                primaryKeyConstraint = string.Format(
                    " CONSTRAINT PK_{0} PRIMARY KEY ({1})", tableInfo.TableName.Replace(".", "_"), string.Join(",", primaryKeyColumns));
            }

            sb.AppendFormat(
                "CREATE TABLE [{0}]{1}({1}{2}{1} {3})",
                tableInfo.TableName,
                Environment.NewLine,
                string.Join("," + Environment.NewLine, columnDeclarations.Select(c => "  " + c)),
                primaryKeyConstraint);
            sb.AppendLine();
        }
All Usage Examples Of Remotion.Linq.SqlBackend.UnitTests.MappingResolverStub::ResolveTableInfo