【问题标题】:How can I have a generic repository to load the data asynchronously with EF?如何拥有一个通用存储库来与 EF 异步加载数据?
【发布时间】:2012-09-07 19:43:18
【问题描述】:

我在具有 RIA 服务的 Silverlight 5.0 应用程序中使用实体框架。

我意识到要从客户端获取数据,您必须在异步过程完成时从事件中获取该数据。

我在考虑是否可以创建一个通用存储库,其中包含 DatabaseContext 并获取数据。

有人可以指导如何开始这部分。

【问题讨论】:

  • 你指的是有一个 IRepository 客户端还是服务器端?

标签: c# silverlight entity-framework wcf-ria-services silverlight-5.0


【解决方案1】:

Joel 在这里有一个很棒的教程:http://joel.net/generic-iqueryable-repository-for-ado.net,它解释了通用存储库以及如何实现它。

编辑:异步部分: 我不确定(现在仍然不确定)您是否希望客户端和服务器之间的异步部分或实际存储库是异步的。我认为是后者,所以我将首先解决它。最简单的方法是给存储库一个委托,存储库将在执行完查询后立即调用该委托。

public class MyRepository:IMyrepository
{
    public IEnumerable<MyReturnedObject> GetThoseObjects(Delegate ToCallWenDone,rest of parameters)
    {
         //get the data
         //invoke the delegate
    }
}

如果您希望来自客户端的调用是异步的,请查看此帖子:http://forums.silverlight.net/p/168335/385493.aspx

希望这会有所帮助。

【讨论】:

  • 这是一个通用存储库的好例子,但是它没有展示如何异步实现它。
猜你喜欢
  • 2014-09-01
  • 2020-06-22
  • 1970-01-01
  • 2011-09-29
  • 1970-01-01
  • 1970-01-01
  • 2022-06-16
  • 2017-08-01
  • 1970-01-01
相关资源
最近更新 更多