4. The method as recited in claim 1 , wherein the act of automatically generating a Web site for the database in accordance with the database mapping comprises an act including the dynamic query in the automatically generated Web site.
1. At a computer system including a processor and system memory, a method for generating a Web based user-interface for interacting with a database, the method comprising: an act of accessing a schema that defines a plurality tables in the database, the schema also defining relationships between fields in the plurality of tables of the database, definition of field relationships by the schema including defining a foreign key relationship from a first table to a second table of the database indicative of a key field in the first table identifying records in the second table; an act of converting the schema, including the foreign key relationship, into source code, the source code including classes and subclasses that represent relationships between the plurality of tables and fields defined in accordance with the schema; annotating the source code with a metadata annotation representing the foreign key relationship from the first table to the second table, the metadata annotation indicating the basis for creation of any classes or subclasses based on the foreign key relationship indicative of a key field in the first table identifying records in the second table; an act of generating executable code from the source code, including: compiling classes and subclasses of the source code into executable code of a dynamic link library, the executable code obscuring any indication of the relationships between the plurality of tables and fields in the database in the source code; and retaining the metadata annotations from the source code in the executable code of the dynamic link library, including a metadata annotation representing the foreign key relationship indicative of a key field in the first table identifying records in the second table; an act of identifying the metadata annotations from within the executable code of the dynamic link library, including the metadata annotation representing the foreign key relationship indicative of a key field in the first table identifying records in the second table, for use in creating a database mapping for the database; an act of the processor creating a database mapping for the database from the metadata annotations, the database mapping describing the configuration of the database such that the database mapping is based on the schema and retains an indication of the foreign key relationship indicative of a key field in the first table identifying records in the second table in a format processable by a Web site generator; an act of the Web site generator inferring, from the existence of the foreign key relationship from the first table to the second table, that a relationship from the second table back to the first table is also relevant to navigating Web based forms that present data from the database, even though a relationship from the second table to the first table is not expressly described in the schema, the inferred relationship for use in generating additional functionality in a Web site for the database permitting traversal of a navigable link from the second table back to the first table; and an act of the Web site generator generating a Web site for the database in accordance with the database mapping, the Web site including at least one navigable link from the second table back to the first table based on the inferred relationship, the at least one navigable link implementing the inferred relationship from the second table back to the first table, the Web site configured to provide a plurality of navigable linked Web based forms for interacting with the tables and fields of the database, including a first Web based form for interacting with data from the second table, the first Web based form configured with a navigable link that can be selected to automatically formulate a dynamic query for querying database records from the first table in the context of a row from the second table.