【问题标题】:Silverlight Ria Services - Update records server side (domain context) when record is queriedSilverlight Ria 服务 - 查询记录时更新记录服务器端(域上下文)
【发布时间】:2010-06-25 18:53:57
【问题描述】:

我正在尝试在我的客户端域上下文中实现功能,我希望在将每个数据库记录发送到客户端之前处理它们。为了创建一个简单的插图,假设我想更改我的客户表上名为 LastAccessed 的字段并将其设置为当前的 DateTime。这是我在域服务类中尝试过的:

    public IQueryable<Customer> GetCustomers()
    {            
        foreach (Customer c in this.DataContext.Customers)
        {
            c.LastAccessed = DateTime.Now;
        }
        DataContext.SubmitChanges();

        return this.DataContext.Customers;
    }

这种方法之所以有效,是因为它会在记录返回给客户端之前更新 LastAccessed 日期,但它会更新所有客户记录,而不仅仅是客户端请求的记录。在我的客户端 silverlight 应用程序中,我正在应用一个查询,但是在使用运行时调试时,我可以看到它正在更新每个客户,但是因为我只使用客户端的查询,只有请求的客户被返回并通过网络推送。

如果我使用 SQL 分析器查看我的数据库,我可以看到它实际上是在请求所有记录,然后它只请求查询的记录。那么我会在哪里拦截那些返回的记录并只更新它们的 LastAccessed 时间。

因此,简而言之,我需要找到一种方法来仅访问最终将返回的记录,并且此时在代码中我似乎拥有整个表。我知道我可以传入一个特定的客户 ID 并进行查询,然后使用这些结果,但我希望查询的灵活性来自客户端,这样如果他们根据某些搜索条件(例如“State ==”)填充网格'NY'" 为填充网格结果而返回的所有记录都会导致 LastAccessed 字段更新。 任何帮助,将不胜感激!谢谢!

【问题讨论】:

    标签: silverlight wcf-ria-services


    【解决方案1】:

    我终于在 Silverlight 论坛上得到了答复,你可以在这里找到我得到的答复:

    Silverlight Forum

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多