2

Я создал представление из таблицы в другой базе данных. У меня есть права dbo для баз данных, поэтому просмотр и обновление не проблема. В этом конкретном представлении не было столбца «id». Поэтому я добавил его в представление с помощью ROW_NUMBER. Теперь у меня возникла проблема с таблицей в той же базе данных, которая не отображается в LightSwitch, но это было решено путем изменения столбца id, который должен быть NOT NULL. Я не делал никаких реальных манипуляций в LightSwitch. Я все еще на этапе импорта ваших источников данных (то есть с самого начала).Как получить MS LightSwitch для распознавания моего представления?

Этот вид в LightSwitch будет доступен только для чтения. Нет обновления или удаления. Из того, что я прочитал, LightSwitch нужен способ определения ПК таблицы или представления. Он либо считывает его из схемы (столбец, заданный как ПК), либо находит набор столбцов как NOT NULL и использует это как ПК. Ну, я не могу ничего сделать в SQL Server или LightSwitch, поэтому я зациклился на том, как заставить LightSwitch «видеть» мой просмотр.

+0

Вы могли бы сделать с чтением [Написание идеальный вопрос] (https://msmvps.com/blogs/jon_skeet/archive/2010/08/29/writing-the-perfect- question.aspx). – Oded

+0

@ davidstratton: достаточно хорошо. – dotnetN00b

+0

Ну, [после просмотра этой ссылки по устранению проблемы] (http://social.msdn.microsoft.com/Forums/en-US/lightswitch/thread/64534e95-ae07-4b8d-9064-f4deadae6438), я буду подождите, чтобы увидеть, есть ли лучшее решение. – dotnetN00b

ответ

2

для фонарика для просмотра вашего представления у вас должен быть первичный ключ в столбце таблицы, на которую вы выбираете. Пример:

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

create view vw_test 
as 
select * 
from tbl_test 

Примечание: иногда при редактировании столбца первичного ключа в представлении оператора выбора может вызвать LightSwitch, чтобы не видеть его

Пример:

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

LightSwitch бы не видеть таблица

Надеюсь, это было полезно! :)

+1

Dumb Tool все еще добавляет определение как «Ключ был выведен, и определение было создано как таблица/представление только для чтения». ДЕЙСТВИТЕЛЬНО ОБЪЯВЛЯЮТ - Microsoft не слышала об INSTEAD OF Triggers, чтобы обрабатывать обновления через View - это 2013 год, а не темные века! – SAinCA

0

В этом случае я создаю представление с столбцом идентификатора, равным номеру строки. Убедитесь, что столбец, на котором базируется идентификатор, не равен нулю, используя функции isnull() или coalesce().

Пример:

create view as 
select distinct ID = row_number() over (order by isnull(Name,'')), 
Name = isnull(Name,'') 
from My_Table 

 Смежные вопросы

  • Нет связанных вопросов^_^