2010-07-13 51 views
0

使用视图和/或存储过程,我可以返回对SQL Analysis Services执行MDX查询的结果(对链接使用OPENROWSET SSAS服务器转换为SQL)。从主键无查看(或存储过程)创建ADO.NET实体

不幸的是,结果集不包括一个PK领域......或者就此而言,即使是一个可以作为PK的列,如果我要破解这个模型。

谁能想到一个hacktacular把戏我可以使用的:

  1. 添加到我的结果的字段,插入一些自动递增值(充当PK候选人)
  2. 莫名其妙定置这一领域成为PK,这样我就可以轻松地建立一个实体了吗?

我99%确定答案是“否”。在这一点上,我已经可以通过使用带有OData渲染的SSRS报告从SSAS获取数据......但是当我使用带有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