2010-07-13 1 views
0

Используя как представление, так и хранимую процедуру, я могу вернуть результаты выполнения запроса MDX в SQL Analysis Services (используя OPENROWSET для связанного SSAS Server в SQL).Создание объекта ADO.NET из первичного представления без ключа (или хранимой процедуры)

К сожалению, набор результатов не включает в себя поле PK ... или, если на то пошло, даже столбец, который МОЖЕТ действовать как ПК, если я должен взломать модель.

Может кто-нибудь придумать hacktacular трюк я могу использовать для:

  1. Добавить поле в мой результат, который вставляет некоторые автоинкрементный значение (выступать в качестве кандидата PK)
  2. Каким-то образом установить это поле быть ПК, чтобы я мог легко построить сущность от него?

Я на 99% уверен, что ответ «нет». На этом этапе я уже могу получить данные из SSAS, используя отчет SSRS с рендерингом OData ... но я должен создавать свои типы вручную, когда я использую play w/LINQ.

Если кто-то может прибить № 1 & # 2, это может быть потенциально лучший способ доступа к данным, так как Modeler создаст для меня мои типы (объекты).

Спасибо!

ответ

0

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

Подача:

SELECT Measures.members ON ROWS, 
Customer.[CustomerIdKeyField].[UniqueCustomerId] ON COLUMNS 
FROM [Postage Prints] 

Возвращается:

(colum header) [Measures].[MeasuresLevel].[MEMBER_CAPTION] [Customer].[CustomerIdKeyField].&[UniqueCustomerId] 

(row) Measure1 9.6800000000000015 

(row) Measure2 22 

(row) Measure3 1