VS2013 LightSwitch 入门第2部分:定义数据关系

[原文发表地址] Beginning LightSwitch in VS 2013 Part 2: Feel the Love – Defining Data Relationships [原文发表时间] 2013-10-23 注意:这是LightSwitch入门系列中关于Visual Studio 2013的更新。之前的版本请阅读: Visual Studio 2012: Part 2: Feel the Love – Defining Data Relationships Visual Studio 2010: Part 2: Feel the Love – Defining Data Relationships 欢迎阅读 Visual Studio 2013 LightSwitch入门系列 的第2部分!之前的帖子中我们了解了LightSwitch中的表和实体,及如何使用数据设计器来定义它们。如果你错过了: Beginning LightSwitch in VS 2013…

0

开始VS2013中LightSwitch系列的第三部分:我们该选择哪个屏幕模板?

[原文发表地址] Beginning LightSwitch in VS 2013 Part 3: Screen Templates, Which One Do I Choose? [原文发表时间] 11/4/2013 3:00 PM 说明:本文是之前很受欢迎的LightSwitch 博文系列之Visual Studio2013的更新. 若要查看以前版本,请点击下面: Visual Studio 2012: Part 3: Screen Templates, Which One Do I Choose? Visual Studio 2010: Part 3: Screen Templates, Which One Do I Choose? 欢迎来到开始Visual Studio 2013中 LightSwitch 系列的第3部分!在第 1 和第 2…

0

VS 2013 LightSwitch 入门第一部分:表里面是什么?你的数据描述

[原文发表地址] Beginning LightSwitch in VS 2013 Part 1: What’s in a Table? Describing Your Data [原文发表时间] 2013-10-16 4:45 PM 注:这是Visual Studio 2013更新的非常受欢迎的LightSwitch入门文章系列,关于以前的版本,请参见: Visual Studio 2012: Part 1: What’s in a Table? Describing Your Data Visual Studio 2010: Part 1: What’s in a Table? Describing your Data 欢迎来到Visual Studio 2013的LightSwitch系列课程第一部分! 首先,我们从LightSwitch应用程序创建中最重要的一块(表)开始。简单的说,表是一种通过行和列组织数据的一种方式,如果你曾用过Excel或者其他的电子表格应用程序,在其中以行为单位来组织数据,然后每行中的每一列代表一个指定数据类型的字段。举个例子,这就是一张关于客户数据的表: Customer 表. LastName FirstName BirthDate…

0

Visual Studio 2013 中我最喜欢LightSwitch的新功能

   [原文发表地址] My Favorite New LightSwitch Features in Visual Studio 2013  [原文发表时间] 2013-09-12 周一时, VisualStudio2013候选版本已经可以使用了,这个版本上面的更多Lightswitch的功能“亮点”,让我兴奋。如果你还没有获得最新的版本,我鼓励你们下载。 下载并安装VS2013RC(你可以安装在预览版本上面) 在LightSwitch团队的博客上能看到很多他们正在研发的新功能,但这里只介绍我和他们工作一段时间后觉得最感兴趣的内容。现在从最亮眼的部分开始… 新的项目系统 在VisualStudio2013中,我们彻底地改变了解决方案资源管理器中的LightSwitch解决方案及其相关项目的显示方式。我们不再有单独的逻辑和文件的视图。我们不再隐藏任何组成层叠的LightSwitch解决方案的配套项目和文件。我们也分开了模型文件来匹配你在LightSwicth中工作时用到的每种类型的资产,比如一个实体,查询,或者屏幕。现在每个这些项目都代表一个与众不同的LSML文件。 我得承认一开始我有些害怕,但我觉得更多的是“你动了我的奶酪”反应(人们抗拒改变,我也不例外)。但在使用新系统工作了几个月之后,我觉得它真的很方便。 特别是在构建HTML的客户端时,你想要调整CSS,添加自己的JavaScript库和部件,并添加引用来指向default.htm。对于服务器的项目,你可能想要添加自己的自定义类,业务规则的扩展方法,等等。以前我发现自己需要经常切换到文件视图来做这些事情。这种新的结构要好得多,因为我在任何时候都可以看到我需要的所有文件。它与解决方案资源管理器的一些很酷的功能也能很好的兼容,如搜索和范围的视图。 我们仍然拥有熟悉的节点,像“数据源”和“屏幕”,但你也会看到,它们所属的项目是可见的,这么一来所有的支持文件组织成了逻辑文件夹。 你可能会注意到你的解决方案的节点下的项目的名称为“悬挂的节点”。如果你展开该节点,你只会看到它的属性。这将带你进入LightSwitch服务器属性页面,在这里你可以指定功能扩展和访问控制选项。此外,如果你启用了SharePoint,那么你也会看到这些属性。如果你有一个Silverlight客户端在你的解决方案中,那么你也可以在这里访问客户端属性。                                                                                                                                                             多重LightSwitch设计器 作为看到所有这些文件和分裂模型的结果,我们现在可以一次打开多个LightSwitch设计器!是的!对于开发经验来说,这绝对是一个值得欢迎的新功能。你打开任何资产(实体,查询,屏幕)将打开它自己的实例,并且你可以把这些设计器窗口停在你想要的任何地方。 关于LightSwitch,我一直喜欢的事情之一是它的超快速的数据建模和屏幕设计。当你改变你的数据模型(编辑或者从实体移除属性)时,你创建的基于实体的屏幕就会自动更新。这完全地消除了数据绑定错误。现在,你可以打开多个设计器,你会发现,如果你更改名称或从实体移除属性,任何基于它的打开的屏幕也会显示脏标志。此外,如果你的项目在源代码管理下,你会在解决方案资源管理器中注意到一个更改标志(更多的在源代码控制下!) 更好的SCC的支持 分裂模型的另一个结果是大大简化了开发团队为了建立一个单一的LightSwitch的解决方案不得不在迁入源代码控制时, 处理合并冲突的负担。现在每个文件代表一个资产,合并冲突应该比以前少得多。而当它们工作时,你可以更容易地识别它们,因为模型文件(LSML)小得多。 LightSwitch测试团队已经释放了一系列团队的新产品,包括数据源控制,连续的构建、用户界面和负载测试。可以从以下链接中迁出: 团队开发系列第1部分:引言(Peter Hauge) 团队开发系列第2部分:源代码控制的最佳实践(RaghuveerGopalakrishnan) 团队开发系列第3部分:改变LightSwitch团队建设(Saar Shen) 团队开发系列第4部分:测试LightSwitch应用程序(Saar Shen) SQL Server数据工具(SSDT)链接的数据库项目 我的另一个最喜欢的功能是能够把SQL Server数据工具(SSDT)数据库项目连接到LightSwitch应用程序,以便执行LightSwitch的“ApplicationData”数据库的高级操作。这通常被称为作为内部或内部数据库。 以前,如果你需要支持默认数据,存储过程,维护,管理标志,或任何其他在LightSwitch数据设计的范围外的数据库编程,你不得不选择与外部数据库调和和管理完全脱离LightSwitch的开发经验。现在你不必了。如果你想为新LightSwitch项目创建一个新的数据库,你可以使用数据设计把数据模型化,然后在一个链接的项目中写一些脚本来实现数据库的高级定制。这些脚本和内部数据库一起被部署在F5和发布中。 为了使用这一点,只需添加一个新的数据库项目到您的解决方案,然后在LightSwitch项目属性中,你可以把它们联系在一起。 请记住,你仍然需要使用数据设计器来定义架构。以下是数据库项目的一些实际用途: 添加存储过程你LightSwitch原有的数据库 原有的数据库管理与数据库项目 LightSwitch应用中的数据管理 HTML表控件 其中一个最重要的反馈是我们从客户那里听到的,在我们在四月份第一次 在vs2012 Update 2发布的HTML客户端中,缺少了一个表/网格控件,现在它在这里,伙计! 基于jQuery…

1

如何在你的LightSwitch应用程序中使用选择器作为过滤器

[原文发表地址] How to Use a Picker as a Filter in your LightSwitch apps [原文发表时间] 2013-08-29 07:17 AM 在过去的几个月中,关于如何做到基于选择器过滤数据的通用模式,我已经得到了不止几个问题。举例来说,我有一个客户表,我想从列表中选择,然后展开他们的详细资料。或者说,我有一个客户列表,我想看到所有的相关订单。 老实说,我以为我已经有一个博客文章是关于如何做到这一点- 但如果连我都不能找到它,那么你可能也无法找到!步骤很简单,你不需要写任何代码,这些步骤在这里… 在同一个表中过滤数据 比方说,我们有一个客户列表,在显示其余字段给用户之前,我们希望有一个屏幕显示,他们应在选择器中选择客户。下面是步骤: 1 – 创建一个查询,通过ID检索客户 在解决方案资源管理器的客户表中,右键单击“添加查询”,在这个例子中,我将它命名为CustomerByID。添加一个过滤器Where ID =,选择“参数”,然后选择“添加新的”去创建一个新的名为ID的查询参数。 需要注意的是,你可以选择参数并且设置这个参数在属性框中是否选择。如果你这样做,那么所有客户的详细资料都将显示在屏幕上。如果遗漏掉了所需的参数项,那么用户必须选择一个客户,去看该客户的详细资料。 2 – 使用查询去创建一个屏幕 无论您使用的是什么样的客户端(Silverlight或HTML)这里的技术是相似的,只是模板不同。在你的客户机节点上单击鼠标右键,并“添加新的屏幕”… 选择CustomerByID作为屏幕数据。如果你正在使用的HTML客户端,那么选择浏览模板。如果使用Silverlight客户端,那么随意挑选像搜索屏幕上的任何列表屏幕。 视图模型中选择CustomerID属性,并在属性窗口中,将其名称更改为客户。请注意您的视图模型会为您自动设置,顾客的属性会设置为一个真正的客户实体并且它的ID会数据绑定到CustomerByID查询的ID参数(如箭头为您指向您在视图模型中选择的Customer.Id项)。像在属性窗口中显示,CustomerByID查询也将会自动执行。这意味着所需的所有参数被输入时,这个查询将会执行,这样的话客户将被选中。 接下来是将客户控件从一个简单的模式选择器变成一个详细的模型选择器 如果你使用Silverlight客户端,那么这些已经被设置到一个自动完成框,但如果你喜欢,你也可以选择一个模态窗口选择器。 3 – 运行吧! 当屏幕出现时,在显示它们的细节之前,用户不得不选择一个客户。 HTML客户端: Silverlight客户端: 请注意,如果在系统中你有很多的潜在客户,我建议根据字段提供一个过滤器,并允许用户简单键入参数(如姓名,电话等),对于Silverlight客户端,您可以使用模态窗口选取器,而不是提供了一个自动搜索。请参阅: Filtering Lookup Lists with Large Amounts of Data on Data Entry…

0

从LightSwitch Silverlight客户端中调用ASP.NET Web API

[原文发表地址] Calling ASP.NET Web API from a LightSwitch Silverlight Client [原文发表时间] 2013-08-23 11:53 AM        在我去塔浩湖度过一个美好的野营假期之前,我向大家展示了如何用你的LightSwitch中间层服务来使用WebAPI,以便于在数据库中调用存储过程。也说明了我们是如何用附加的SQL Server Data Tools (SSDT)来改善VisualStudio 2013中数据库管理的。如果你错过了下面的内容: 向LightSwitch内部数据库中添加存储过程 用WebAPI调用LightSwitch数据库中的存储过程        你可以用SSDT做各种精彩的事情,当然用WebAPI也能办的到。启动Visual Studio 2012 Update 2 (LightSwitch V3), 我们赋予了它在中间层使用ServerApplicationContext的能力,以便于你可以利用LightSwitch内部所有的业务逻辑和数据逻辑来创建自定义的Web服务。这就使得重用你所想要的LightSwitch业务逻辑和数据投资扩展服务层变得非常容易。(看这里和这里几个简单的例子)。        我有几个关于我上一篇博客如何从LightSwitch HTML客户端中调用我们自己创建的Web API的问题。人们问怎样从LightSwitch Silverlight客户端中调用相同的Web API, 基于很多客户现如今都在使用桌面版的客户端,我今天会在这里展示一种可行的解决方案。尽管我今天在这里用到了它,但却不一定非要安装Visual Stusio 2013来完成– 用VS2012 Update2 或更高的版本也是可以的。        因此,继续使用我们之前博文中的例子,让我们看看如何使Web API向LightSwitch Silverlight客户端返回一个结果。 编辑我们的Web API        默认情况下,Web API将返回一个JSON格式的结果。这是一个非常棒的、轻量级的、用来交换数据的格式,它也一个是基于移动版jQuery 包括LightSwitch HTML客户端的跨平台标准。你也可以给Silverlight客户端返回一个JSON结果,然而你可能更希望用XML文件来工作。Web…

0

为你的LightSwitch内部数据库添加存储过程

[原文发表地址]  Adding Stored Procs to your LightSwitch Intrinsic Database [原文发表时间] 25 Jul 2013 7:39 AM 当你建立一个LightSwitch应用程序时,你会被问的第一个问题是你是否要连接到一个现有的数据源。如果你选择创建新的,这意味着你希望使用LightSwitch数据设计来创建数据模型并且用LightSwicth来管理你的数据库。我们涉及的这个数据库为内在(或内部)数据库。 我们从客户那里听到的使用内部数据库的缺点之一是,很难管理有许多相关联任务的数据库,像是管理引用数据,存储过程,索引等等。目前这些任务需要使用LightSwitch以外的技术完成。这就是为什么许多客户选择使用外部数据库并且完全不用LightSwitch来管理它们。但是这种方法的缺点是你必须手动来部署和管理数据库架构更新而不是让LightSwitch来为你做这件事。 在Visual Studio 2013预览版中,我们通过允许你在LightSwitch解决方案里添加一个SQL 服务器数据工具(SSDT)解决了这个问题,它可以运行数据库脚本而不是内部数据库。Chris在: Intrinsic Database Management with Database Projects 里介绍了这个功能。我们也在MSDN上建立了一个实例/演练来演示如何使用数据库工程来部署引用数据:Managing Data in a LightSwitch Application. 你还可以使用数据库工程来给你的内部数据库添加存储过程。虽然LightSwitch实体还需要来自数据设计器中的数据模型来创建,但是你可以使用存储过程来进行复杂运算,返回数据给报告面板或者执行其它特定数据库任务。 让我们来看一下如何使用Visual Studio2013预览版来给我们的内部数据库添加存储过程。 我们的LightSwitch 内部数据模型 对于这个例子,我有一个简单的内部数据模型是关于客户–<命令–<详细命令–<产品的。假设我们想要建立一个管理面板来让我们能观察数据库中每个表的数据量。我们可以写一个存储过程来给我们这些信息。 添加 SSDT数据库工程 在LightSwitch中使用数据库工程有两个步骤。首先你需要添加这个工程到LightSwitch的解决方案,之后你需要告诉LightSwitch来使用它。 在解决方案管理器中右键单击LightSwitch管理器,之后选择添加–>新工程… 选择SQL Server节点后你会看到SQL Server数据库的工程模板。给它一个名字并且单击Ok。 接下来你需要把它连接到LightSwitch工程。在你的LightSwitch解决方案属性上双击。在常规属性选项卡你现在会看到一个设置为“SQL 数据库工程”。选择你刚刚添加到下拉列表中的工程。 编写存储过程 现在我们可以添加项目到数据库工程。我们想要写一个能笼统的在我们数据库里查找所有的表并且统计每个表的所有记录的过程。我们写它是为了当我们从架构里添加/删除表时不再需要更改它。所以在数据库工程上单击右键并且选择添加–>存储过程。这个示例中我将把它命名为uspGetTableCounts。   现在你可以创建你的存储过程。你可以在这里使用CREATE语句,它会自动正确调配——这就是数据库工程的美丽之处。你可以在Word文档上找到你可以用SSDT做什么的详细信息:SQL Server数据工具(SSDT)。 CREATE PROCEDURE…

0

窍门:在Visual Studio 2013 Preview上安装LightSwithch的扩展性功能

[原文发表地址] Quick Tip: Getting LightSwitch Extensions to Install into Visual Studio 2013 Preview [原文发表时间] 2013-07-18 8:02 AM         在你自己的真实项目中,假若你想尝试在visual studio 2013 Preview上测试出新的lightSwitch新功能,然而由于这些新的扩展功能不能在VS2013 preview上安装而致使你不能测试。这里有个窍门教你如何强制安装这些扩展功能。首先,了解一些背景:         Visual Studio LightSwitch 扩展功能和别的Visual Studio扩展功能一样会生成VSIX文件。一些扩展功能是针对Visual Studio的特定版本的。扩展功能的建立者在创建VSIX文件时会决定这些扩展支持哪个版本。正因如此,当我们发布下个Visual Studio preview 版本时,你用的扩展功能很可能还不能在新的版本上使用。         对于一个使用Visual Studio某个版本以及其扩展功能的LightSwitch项目,当你想要将这个项目升级到下一个Visual Studio版本时,你应该使所有的扩展功能在新的Visual Studio上是可用的。这样便会少些头痛:)所以首先你需要安装扩展功能,然后在新的Visual Studio中打开LightSwitch解决方案,它将会顺利地升级。如果你没有安装扩展功能,你会遇到一个警告并且你的项目将不会正确生成,除非删除所有引用。如果你使用很多扩展功能,安装扩展功能可能会是一个主要的烦恼。         你可以通过更改manifest文件,在visual studio的任何版本上强制安装扩展功能。然而,请注意这样做是依赖于扩展功能的,这些扩展功能可能会在新的版本上运行不正常-最终扩展功能的建立者有职责去升级他们的扩展功能。不过,大多数LightSwitch扩展功能会移植的很好,尤其是他们已经支持Visual Studio的多个版本。         以下是如何操作: 1. 重命名 .VSIX 的扩展名为 .ZIP 2. 解压.zip,取出里边的内容并且用文本编辑工具(如notepad)打开.vsixmanifest.          3. 找出<SupportedProducts>…

0

Visual studio 2013 预览版中的LightSwitch

[原文发表地址] LightSwitch in Visual Studio 2013 Preview! [原文发表时间] 2013-6-27 5:02 PM 在本周的 \\BUILD 会议上, 提供给开发者尝试使用的Visual Studio 2013 和 Windows 8.1 预览版发布了,并且为Windows Azure提供了一些权威的更新. Download: Visual Studio 2013 Preview Download: Windows 8.1 Preview (http://preview.windows.com/) 我鼓励您们阅读以下一些关于新功能发布的文章: The Windows 8.1 Preview is here! Build 2013 and Visual Studio 2013 Preview Windows Azure: General Availability of Web Sites + Mobile…

0

如何为LightSwitch HTML移动客户端分配用户角色和权限

[原文发表地址] How to Assign Users, Roles and Permissions to a LightSwitch HTML Mobile Client [原文发表时间] 2013-06-25 01:47 PM 最近,我收到了一些关于如何为LightSwitch HTML的移动应用程序分配用户权限的问题,因此,我觉得有必要发帖对该问题进行快速说明。简单来说,就是你需要部署一个桌面客户端,为你的应用程序进行安全管理。通常一个管理控制台也管理其他类型的在你的应用程序中可能使用到的全局数据,比如查找表和其他参考数据,而且可以被一个或几个系统管理员使用。不过,如果你只需要访问用户和角色界面去授予用户对系统进行访问的权限,那么其步骤就很简单了。 我们来举个例子。我有一个简单的HTML客户端应用程序,并且在项目属性的“访问控制”选项卡上,我已经启用了“Forms Authentication”。 我已经加入代码来执行业务规则和控制应用程序功能的访问权限检查。如果你不熟悉如何做到这些,请阅读:LightSwitch Authentication and Authorization. 其基本要点是,在中间层,你通过数据设计器在你的数据服务中使用访问控制钩(_CanInsert,_CanDelete_CanRead等)进行权限检查。如果你还需要访问HTML客户端上的用户权限,以启用或禁用UI元素,那么请查阅我的另一篇帖子:Using LightSwitch ServerApplicationContext and WebAPI to Get User Permissions. 为了添加一个桌面客户端(我们的管理控制台),右键单击该项目,然后选择“添加客户端”。 给它一个名字,然后单击“确定”。 现在,您的解决方案将包含一个桌面客户端。 (注:一旦你添加了它,桌面客户端将被设置为启动调试客户端。此时,右键单击HTMLClient,并且选择“设置为启动客户端”,这样就可以切换回非调试客户端。) 事实上,你并不需要添加任何的桌面客户端界面。当任何获取了SecurityAdministration许可的用户登录时,用户和角色管理界面就会出现。为了首先得到数据库管理员权限,你需要部署你的应用程序,而对于你的桌面客户端,首先你得考虑到以下几个选项。 右键单击桌面客户端,选择“属性”。这将打开客户特定的属性,在这里你可以指定一个标志,图标,主题等。你还可以 更改屏幕导航。在客户端类型选项卡中,你可以选择将桌面客户端部署为浏览器内的或浏览器外的类型。LightSwitch中的桌面客户端是一个Silverlight5客户端,所以它将可以运行在各种桌面浏览器中(请参阅这里的系统要求)。 默认情况下,当你添加一个桌面客户端到LightSwitch应用程序,客户端类型将被设置为Web应用程序。如果你仅仅是管理数据,这是一个很好的选择。如果你需要通过COM(即Excel、Word、eye scanners等)在Windows桌面上实现其他程序或设备的自动化,那么,你应该会选择“桌面”选项。此选项将仅在Windows机器上运行,但它以较高的信任级别运行,所以你可以跟其他程序进行通信。 对于这个简单的管理控制台,我们将其设置为浏览器类型。现在,在“解决方案资源管理器”中右键单击 LightSwitch 应用程序,选择“发布”。发布向导需要的关键信息是“安全设置”选项卡上的应用程序管理员信息部分。 对于部署的更多信息,请参阅:How to: Deploy a 3-tier Application。 一旦我们部署了应用程序,导航到桌面应用程序并提供与您在发布向导中所指定的相同的凭据。此时该应用程序有两个客户,所以记得要浏览正确的虚拟目录来运行相关的客户端应用程序。 例如,我们的桌面客户端的名称是“DesktopClient”,要运行这个,我们就得导航到http://www.mydomain.com/DesktopClient,而如果要运行 移动客户端名为“HTMLClient”的应用程序则需要导航到http://www.mydomain.com/HTMLClient。…

0