【问题标题】:Domain Service Named Method Update not working域服务命名方法更新不起作用
【发布时间】:2011-06-30 18:15:29
【问题描述】:

我正在使用 VS 2010 和 Silverlight 4 以及 WCF RIA v1

当我尝试在域服务中使用命名更新方法时,我遇到了一个奇怪的错误。

这是错误:

“消息:Silverlight 应用程序中的未处理错误 *提交操作失败。值不能为空。*参数名称:System.ServiceModel.DomainServices.EntityFramework.ObjectContextExtensions 中的原始名称。”

在域服务中发生错误 this.ObjectContext.Prospects.AttachAsModified(p, this.ChangeSet.GetOriginal(p));

我已经阅读了 WCF 的更改文档,并且我认为我做的一切都是正确的。

有人可以帮我弄清楚发生了什么吗?

干杯

这是代码解释:

客户

.....

<riaControls:DomainDataSource.DomainContext>
      <my:MarketingDomainContext />
 </riaControls:DomainDataSource.DomainContext>

.....

<Grid x:Name="LayoutRoot" Background="White">
     <Grid DataContext="{Binding ElementName=comboBoxProspects, Path=SelectedItem}" 
            Name="gdProspects" Margin="10">

....... .......

我从网格中获取 Prospects 实体。

我尝试使用全局声明的上下文和更新方法 int Entity 来调用命名的更新方法。

public partial class MainPage : UserControl
{

    MarketingDomainContext ctx;

    private void dsProspects_LoadedData(object sender, LoadedDataEventArgs e)
    {
          ctx = (MarketingDomainContext)dsProspects.DomainContext;
    }

    private void btnSubmit2_Click(object sender, RoutedEventArgs e)
    {
      //((Prospect)gdProspects.DataContext).CalculateProspectValue(
     //    int.Parse(tbNumber1.Text), int.Parse(tbNumber2.Text));
      var tempProsp = gdProspects.DataContext as Prospect;
      ctx.CalculateProspectValue(tempProsp, int.Parse(tbNumber1.Text), 
         int.Parse(tbNumber2.Text));
        ctx.SubmitChanges();
   }

域服务方法

[Update(UsingCustomMethod=true)]    
public void CalculateProspectValue(Prospect p, int a, int b)     
{
   p.Comments = "Value = " + a * b;
   // Error happens here
   this.ObjectContext.Prospects.AttachAsModified(p, this.ChangeSet.GetOriginal(p));

 }

 public void UpdateProspect(Prospect currentProspect)    
 {
  this.ObjectContext.Prospects.AttachAsModified(currentProspect,   this.ChangeSet.GetOriginal(currentProspect));

 }

【问题讨论】:

    标签: methods service dns named


    【解决方案1】:

    您需要将 [RoundTripOriginal] 属性添加到元数据中不是关键的“潜在客户”成员之一。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-11
      • 2017-08-04
      • 2017-06-26
      • 2019-02-22
      • 2016-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多