LightSwitch是一个简易的开发平台,可以快速简单的实现一些标准的应用,它的特点就是不用对代码特别熟悉就可以来实现开发。就是让业务专家也来开发应用,而不是专业程序的选择(不过有些部分还是需要编程来实现一些应用的)。

         对于LightSwitch的学习,我觉得可以分两方面,业务人员学开发,专业编程人员学思想,当然,这是我的个人建议(哈哈)。
其实LightSwitch的项目结构比较简单,如下图:

只有两个文件夹,一个用来放数据的Data Sources,一个用来放窗体的Screens。这种思维很符合人们的思维,一个窗体,背后有数据在支持。如果切换文件视图方式,会发现上面的图对应如下:
LightSwitch框架介绍_第1张图片
        这个项目模版生成的文件可能对于专业程序员来说更加熟悉。Client是桌面应用项目,Server是Web应用项目,Common自然就是共用项目,Data是放置Data Sources和Screens中的数据。从文件视频可以看出,LightSwitch项目,不但可以以窗体形式进行浏览,还要以web形式进行浏览,做到这点是很强大的了,因为通过一个小小选项配置,就能切换架构,这对于程序员来说,是很强悍的了。
        对于使用LightSwitch的人员来说,在切换在逻辑视图下进行开发,因为在文件视图下是没有办法添加新子项的,本质上在逻辑视图下的添加的数据表与窗体文件不是与物理文件对应的,这些文件以xml格式存储在Data文件夹下的ApplicationDefinition.lsml文件中。
App.config是整体项目的配置文件,内容如下:
1.0"?>
    <appSettings>
      <add key=" SubsystemsPackage" value="RuntimeLoaders;BaseServicesLoader"/>
      <add key=" UserCodeComponentsFolder" value="UserCode" />
    appSettings>
    <connectionStrings>
        <add name=" LightSwitchConnectionString"
            connectionString=" Data Source=.\SQLEXPRESS;AttachDbFilename="|DataDirectory|\Data\DevelopmentDatabase.mdf";Integrated Security=True;User Instance=True;MultipleActiveResultSets=True;Pooling=False;"
            providerName=" System.Data.SqlClient" />
    connectionStrings>
        这是一个标准的配置文件这是一个标准的配置文件,有appSettings和connectionString两个节点,appSettings中的是系统中用到的信息(现在不知道具体作用),connectionString是数据库接字段串,这个数据库位于项目的绝对路径下的Bin/Data下,这个数据库是个老数据库了,可一下它的结构就会明白:

LightSwitch框架介绍_第2张图片

         是的,这个就是ASP.NET中,用户管理中系统提供的那个用户管理的数据库,为什么要提供这样一个数据库呢?一是因为LightSwitch有自己的权限管理功能(这个权限管理功能是基于配置的,非常简便),需要一个数据库,二是因为这个数据库的模版是一个用户熟悉的数据库,为什么不用大家熟悉的呢?同时,这也告诉了我们,LightSwitch是基于SQL Server体系以数据库,默认情况下是ApplicationDatabase.mdf这个库,但LightSwitch还支持其他类型的数据源,如SharePoint和WCF RIA Service,但在数据库上的支持,Beta2还是只有SQL Server。

        总结一下吧,对于LightSwitch的“真正用户”来说,LightSwitch只要关注两方面,数据(Data Sources)和界面(Screens)就够了,至于低层是怎么实现的,可能对于“非真正用户(程序员)”来说,是真正关心的。