Did you know that everything you design in a LightSwitch application (tables, screens, queries etc) is stored in a file called 
ApplicationDefinition.lsml?
LSML extension stands for the title of the post…no, I’m kidding of course. It stands for LightSwitch Markup Language. This file can be found in the folder 
<Project Path>\<Project Name>\Data.
Working in 
Logical View this is file is not visible (no files are visible in this view either way). Turning to 
File View you can see 
links to this file in all three projects 
Client, Common and 
Server. Notice they are links. The original file is not included directly in any project.
The reason there is only one file and all projects have link to it, is that it’s common to all of them and any change made to it should be available simultaneously to all projects. 
The reason it’s not included to any project, in my humble opinion, is mainly because it’s not meant to be edited in any way. It could be included in the 
Common project for example as it 
IS common.This file is the product of all designer work done in LightSwitch. Even when you change the Theme, or Access Type properties of the application from the 
Properties of the project this change is stored in this file.
This is the reason also, that only 
ONE (or none) “<
Project Name> Designer” window is available at any given time in your workspace. Because there 
IS only one such window displaying a different part of the ApplicationDefinition.lsml file every time you double-click a table or a form or whatever opens a designer window.
One tip for the end. When you plan a major change in your model (data design), 
especially if you are NOT using a native datasource, keep a backup of ApplicationDefinition.lsml. If you are using version control, check a version in, even temporarily. If not, keep a backup copy of the file. One day you might thank me for this advice…
