【问题标题】:Creating an ADO.NET Entity from primary key-less view (or stored procedure)从无主键视图(或存储过程)创建 ADO.NET 实体
【发布时间】:2010-07-13 18:19:43
【问题描述】:

使用视图和/或存储过程,我可以返回对 SQL Analysis Services 执行 MDX 查询的结果(对链接的 SSAS 服务器使用 OPENROWSET 到 SQL)。

不幸的是,结果集不包含 PK 字段...或者就此而言,即使是我要破解模型时可以充当 PK 的列。

谁能想到一个我可以使用的黑客技巧:

  1. 在我的结果中添加一个字段,插入一些自动递增的值(作为 PK 候选)
  2. 不知何故将此字段设置为 PK,以便我可以轻松地构建一个实体?

我 99% 确定答案是否定的。此时,我已经可以通过使用带有 OData 渲染的 SSRS 报告从 SSAS 取回数据......但是当我使用带有 LINQ 的播放时,我必须手动创建我的类型。

如果有人可以为我确定 #1 和 #2,这可能是访问数据的更好方法,因为 Modeler 会为我创建我的类型(实体)。

谢谢!

【问题讨论】:

    标签: sql sql-server wcf ssas ado.net-entity-data-model


    【解决方案1】:

    我不确定我是否理解为什么您不能拥有可以充当主键的列。我刚刚对过滤到成员列表的一个多维数据集运行了一个类似的查询,并且每个列名称都包含成员名称。这是一个例子:

    提交:

     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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-29
      • 2011-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多