0

我想使用视图而不是表作为屏幕中的数据项,但视图未显示在我的解决方案资源管理器中的数据源->应用程序数据中。所以,画面编辑时当然不会出现在数据项列表中。

我正在使用最新的 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 数据源视图

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 日

° 在其他帖子中,我阅读了有关 “更新数据源”或“导入视图”的信息,但此功能在我的项目中不可用(不再可用?): 哪儿是

4

1 回答 1

1

看起来,通过 SQL Server 对象资源管理器直接添加到(localdb)\v11.0的视图没有同步回解决方案资源管理器中的 ApplicationData 对象。

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

  • 在解决方案资源管理器中,通过选择“添加数据源...”,将 /bin 文件夹中的数据库文件本身作为外部数据源添加到您的服务器项目中
  • 在此过程中,只选择视图即可
  • 现在,它们可用 外部数据源的可用视图

我很高兴听到更好的消息,将视图导入 localDB,以便在开发阶段使用它们。有一个 localDB 作为数据源和一个指向同一个 DB 的第二个外部数据源,只是为了访问视图,这是非常难看的。

于 2014-11-20T10:12:58.123 回答