C# 在Silverlight中执行多次回调以从DB获取数据是一种好的做法吗?
我正在使用SL5.0和EntityFramework。我需要从两个实体获取数据,但我不喜欢我正在做的方式。。通过回调C# 在Silverlight中执行多次回调以从DB获取数据是一种好的做法吗?,c#,silverlight,entity-framework-4,silverlight-4.0,callback,C#,Silverlight,Entity Framework 4,Silverlight 4.0,Callback,我正在使用SL5.0和EntityFramework。我需要从两个实体获取数据,但我不喜欢我正在做的方式。。通过回调 var context = ... context.Load(context.GetTestTemplatesSummaryQuery("OPA-3DKCL2")).Completed += (s, e) => { var result = context.GetTestTemplatesSummary_Results; var re
var context = ...
context.Load(context.GetTestTemplatesSummaryQuery("OPA-3DKCL2")).Completed += (s, e) =>
{
var result = context.GetTestTemplatesSummary_Results;
var result2 = ...
context.Load(context.GetTestTemplatesSummaryQuery(result)).Completed += (s2, e2) =>
{
...
};
};
我正在寻找一种优雅的方法来实现这一点。对于.Net 1.0到4.0版,您所做的完全正确。这就是异步编程在.Net世界中的工作方式 对于.Net 4.5,有一个新的异步/等待机制用于异步编程,如下所示:
public async Data GetData()
{
return await _myService.GetDataAsync();
}
当您编译代码时,它被分解为一系列异步方法,但是开发人员编写的代码大大简化了
如上所述,如果您有VS 2012(VS 11),那么您可以下载一个包,该包允许您将Wait async与Silverlight 5一起使用。如果您没有使用VS 2012,那么您当前所做的是完全正确的