SQL View未显示在LightSwitch HTML客户端项目中

时间:2014-11-19 10:28:42

标签: visual-studio visual-studio-lightswitch sql-view lightswitch-2013

我想使用视图而不是表格作为屏幕中的数据项,但视图未显示在数据源中 - 我的解决方案资源管理器中的> ApplicationData 。因此,它当然不会在屏幕编辑期间显示在数据项列表中。

我使用的是最新的IDE版本:MS Visual Studio Professional 2013,Verison 12 Update 4.

我做了什么

a)创建了一个测试表(代码只是为了显示LightSwitch做了什么,我用解决方案资源管理器来创建表)

CREATE TABLE [dbo].[TestPersons] (
    [Id]         INT            IDENTITY (1, 1) NOT NULL,
    [Name]       NVARCHAR (255) DEFAULT ('') NOT NULL,
    [RowVersion] ROWVERSION     NOT NULL,
    PRIMARY KEY CLUSTERED ([Id] ASC)
);

b)创建了一个测试视图(我为此使用了SQL Server对象资源管理器)

CREATE VIEW [dbo].[TestPersonView]
    AS SELECT Id, Name FROM [TestPersons]

- >我在SQL Server对象资源管理器上添加了一些测试数据,并且显示正确。

我已经尝试过这个

°显式广告Lightswitch Datasource views missing from list

CREATE VIEW [dbo].[TestPersonView]
    AS SELECT DISTINCT
    CAST(Id as INT) AS Id,
    CAST(Name as NVARCHAR(255)) AS Name
    FROM [TestPersons]

°显式转换和非空处理

CREATE VIEW [dbo].[TestPersonView]
    AS SELECT DISTINCT
    ISNULL(CAST(Id as INT), 1) AS Id,
    ISNULL(CAST(Name as NVARCHAR(255)), '-') AS Name
    FROM [TestPersons]

°刷新主项目

°关闭视觉工作室

°重建服务器项目

附录,2014年11月20日

°关于我读到的关于"updating the data source"或“导入视图”的其他帖子,但我的项目中此功能不再可用(不再?): Where is the "Update Data Source" function?

1 个答案:

答案 0 :(得分:1)

在SQL Server对象资源管理器中直接添加到(localdb)\ v11.0 的视图不会同步回解决方案资源管理器中的ApplicationData对象。

从localDB获取视图到项目中的解决方法(LightSwitch,HTML客户端):

  • 通过选择"添加数据源..."
  • ,将数据库文件本身从/ bin文件夹作为外部数据源添加到服务器项目中,在解决方案资源管理器中
  • 在此过程中,如果您只选择视图
  • 就可以了
  • 现在,它们可用 available views over an external data source

我很乐意听到更好的事情,以便在开发阶段获得对本地数据库的看法,以便能够使用它们。将localDB作为数据源和指向同一个DB的第二个外部数据源非常难看,只是为了访问视图。