sql-server - 如何让 MS LightSwitch 识别我的 View ?

标签 sql-server t-sql sql-server-2008-r2 visual-studio-lightswitch

我已经从另一个数据库中的表创建了一个 View 。我对数据库拥有 dbo 权限,因此查看和更新​​不是问题。这个特定的 View 没有“id”列。因此,我使用 ROW_NUMBER 在 View 中添加了一个。现在,我在同一个数据库中遇到了一个表问题,该表没有显示在 LightSwitch 中,但通过将 id 列更改为 NOT NULL 解决了这个问题。我还没有在 LightSwitch 中进行任何真正的操作。我仍处于导入您的数据源阶段(即一开始)。

LightSwitch 中的此 View 将是只读的。没有更新或删除。据我所知,LightSwitch 需要一种方法来确定表或 View 的 PK。它要么从模式中读取它(列设置为 PK),要么找到设置为 NOT NULL 的列并将其用作 PK。嗯,我似乎无法在 SQL Server 或 LightSwitch 中执行这些操作,因此我对如何让 LightSwitch“查看”我的 View 感到困惑。

最佳答案

要让 lightswitch 看到您的 View ,您必须在您选择的表的列上有一个主键。 示例:

create table tbl_test
(
id int identity primary key not null,
value varchar(50)
)

create view vw_test
as
select *
from tbl_test

注意:有时当您在 View 选择语句中编辑主键列时,可能会导致 lightswitch 看不到它

示例:

create view vw_test
 select cast(id as varchar(50) id,...

lightswitch 看不到 table

希望这对您有帮助! :)

关于sql-server - 如何让 MS LightSwitch 识别我的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9895613/

相关文章:

sql - 计算2个日期之间每个日期的记录数

sql - 具有 2 个联合的公用表表达式计数器

t-sql - SQL Server : compare date to string with no leading zeros

sql-server - 是否可以在 `or` 语句的 `when` 部分使用 `case`?

c# - 无法连接到 SQL Server 2008 R2

sql - SQL 中的持久临时表?

sql-server - 在 T-SQL 中,如何获得一列 2 小数点(或百分比)?

java - JSP 中的 JDBC 连接 :java. lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc

SQL Server 2012 结果网格

reporting-services - 无法在SSRS 2008 R2订阅中选择多值参数