When I spoke about SQLMetal the files it generates are pretty straight forward. You ask for code, it generates code. You ask for the mapping file, it generates you the xml mapping file, and asking for the dbml generates you a very similar xml file. So what files does the Linq to SQL designer built into Visual Studio generate?
The main file which you interact with is the dbml file. When you open this file, it launches into the designer. However, the file actually holds xml. If you right click on the file and choose open with, you can view the file as XML. You will then see that the file actually containing information about the entries included in the datacontext. This file contains all the meta data for the tables, such as column type, name and other information.
One of the other files is the .dbml.layout file which contains XML. This file simply tells the designer how to layout the entries on the surface. Not really any need to edit this by hand.
Finally, the most important file is .designer.cs. This contains all of the C# implementation for the DataContext and is generated based on the information in the designer/dbml file. As the built in designer only creates attribute based files, all of the database information is also in this time.
Finally, when the project is compiled, the only file taken into consideration and included within the assembly is the .designer.cs which contains the DataContext code.
Have you any ideas why when you add new tables to the layout in VS2008 it doesn’t update the datacontext file?
Cheers
Jon