Reporting services Reporting Services 2008:从实体中手动删除属性问题

Reporting services Reporting Services 2008:从实体中手动删除属性问题,reporting-services,ssrs-2008,Reporting Services,Ssrs 2008,我正在VisualStudio(2008)中修改我的报表模型。 如果我刷新我的dsv文件(在对基础数据库进行更改之后),然后在smdl文件中手动反映相同的更改,那么每当我从实体中删除属性时,似乎都会以某种方式破坏ReportModel项目 删除属性会从smdl文件的和部分删除如下引用: <AttributeReference> <!--My Attribute--> <AttributeID>G30ea3652-7f92-41d0-a25a-500c8

我正在VisualStudio(2008)中修改我的报表模型。 如果我刷新我的dsv文件(在对基础数据库进行更改之后),然后在smdl文件中手动反映相同的更改,那么每当我从实体中删除属性时,似乎都会以某种方式破坏ReportModel项目

删除属性会从smdl文件的
部分删除如下引用:

<AttributeReference>
  <!--My Attribute-->
  <AttributeID>G30ea3652-7f92-41d0-a25a-500c82317288</AttributeID>
</AttributeReference>

G30ea3652-7f92-41d0-a25a-500c82317288
并删除属性本身:

<Attribute ID="G30ea3652-7f92-41d0-a25a-500c82317288">
  <Name>My Attribute Name</Name>
  <DataType>Integer</DataType>
  <Nullable>true</Nullable>
  <SortDirection>Descending</SortDirection>
  <Width>4</Width>
  <Format>g</Format>
  <EnableDrillthrough>true</EnableDrillthrough>
  <ContextualName>Merge</ContextualName>
  <ValueSelection>Dropdown</ValueSelection>
  <Column Name="Blah" />
</Attribute>

我的属性名
整数
真的
下降的
4.
G
真的
合并
下拉列表
我看不出这会把smdl文件搞得一团糟

不管怎样,我的问题是:还有其他人有同样的问题吗? 如果是这样的话,除了自动生成smdl之外,还有其他方法吗

还有,不自动生成的原因吗? (一位同事告诉我不要这样做,但我不明白背后的动机)

提前感谢您的帮助,
皮特。

好的,我可以在这里回答我自己的问题。 似乎有一个关于隐藏字段的问题。如果尝试删除的属性或角色是从另一个角色的“隐藏字段”集合引用的,则当删除它(属性或角色)时,集合中保留的引用将成为孤立引用。 看起来Visual Studio不够聪明,无法做到这一点-呸

当您在保存报表模型项目后尝试重新打开它时,会收到一条可爱的、富有表现力的错误消息:“对象引用未设置为对象的实例。”


当我得到“Object Reference…”错误时,解决这个问题的唯一方法是在记事本(或类似工具)中打开smdl文件,并搜索要删除的对象的GUID引用。注意,在角色的情况下,它可能发生在关系的任意一端(源或目标)。

只需扩展答案,隐藏字段将如下所示(在
SMDL
中):


G3a4a8c45-c900-4286-afdd-d31deb70be41
只需手动删除整个条目。
有点狡猾,但它的工作

<!-- NameOfEntity -->
<FieldFolderItemId>G3a4a8c45-c900-4286-afdd-d31deb70be41</FieldFolderItemID>