首页 > 解决方案 > 使用 .NET 更新 SSAS 表格模型的 M 表达式时未保存到数据库的更改

问题描述

场景:我们有一个带分区的表,我们必须使用 .NET 更新分区查询

我们使用下面的代码将现有的 M 表达式替换为新的,但更改不会在数据库级别更新(分析表)。此代码中是否存在任何语法错误或问题?

TOA.Partition partition = m.Tables.Find(Table).Partitions[1];

OverrideCollection oc = new OverrideCollection
{
  Partitions =
  {
    new PartitionOverride
    {
      OriginalObject =partition,
      Source = new MPartitionSourceOverride
      {
        Expression=expressions
      }

    }

  }

};


var listOc = new List<OverrideCollection>();
listOc.Add(oc);
partition.RequestRefresh(TOA.RefreshType.Add, listOc);
// m.Tables[Table].Partitions[1].Refresh(TOA.RefreshType.Full, listOc); //it is not working 
db.Update(UpdateOptions.ExpandFull);
db.Model.SaveChanges();
m.SaveChanges();
TOA.Partition partition1 = m.Tables.Find(Table).Partitions[1];

标签: c#azuressas-tabular

解决方案


推荐阅读