Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 如何在异步进程中将参数传递给WCF_Wpf_Entity Framework_Wcf_Mvvm_Telerik - Fatal编程技术网

Wpf 如何在异步进程中将参数传递给WCF

Wpf 如何在异步进程中将参数传递给WCF,wpf,entity-framework,wcf,mvvm,telerik,Wpf,Entity Framework,Wcf,Mvvm,Telerik,我不熟悉这项技术。我正在尝试使用MVVM(第一次)。在视图中,我有一个日期选择器绑定到ViewModel中的属性Calendardate(这可以工作)。WCF测试客户端验证GetEncounterTimesSync()是否正常工作(无参数)。我已将WCF服务查询更改为使用datetime参数。该模型是作为EntityFramework从数据库创建的。(使用Telerik数据访问) 我在互联网上搜索没有成功。我没有使用任何web服务(据我所知) 我在下面所做的失败了 如何将参数从UI传递到WCF并

我不熟悉这项技术。我正在尝试使用MVVM(第一次)。在视图中,我有一个日期选择器绑定到ViewModel中的属性Calendardate(这可以工作)。WCF测试客户端验证GetEncounterTimesSync()是否正常工作(无参数)。我已将WCF服务查询更改为使用datetime参数。该模型是作为EntityFramework从数据库创建的。(使用Telerik数据访问)

我在互联网上搜索没有成功。我没有使用任何web服务(据我所知)

我在下面所做的失败了

如何将参数从UI传递到WCF并对实体执行查询

如果不能做到这一点,如何通过WCF对EntityFramerwork进行参数化查询

我很困惑,任何帮助都将不胜感激

(我的系统:Visual Studio 2010,Telerik数据访问)

ViewModel:

public MaintenanceFormViewModel()
    {
        this.Calendardate = DateTime.Now;
    }

    private void RefreshEncountertimes()
    {
        // manage results when the WCF service returns
        this.serviceClient.GetEncounterTimesCompleted += (s, e) =>
        {
            this.Encountertimes = e.Result;
        };
        // call the WCF service
        this.serviceClient.GetEncounterTimesAsync(Calendardate);
    }

private DateTime calendardate;
    public DateTime Calendardate
    {
        get
        {
            return this.calendardate;
        }
        set
        {
            this.calendardate = value;
            this.OnPropertyChanged("Calendardate");
            this.RefreshEncountertimes();
        }
    }
我的WCF服务:

[ServiceContract]
public class ChaosService 
{
    [OperationContract]
    public IEnumerable<Encountertime> GetEncounterTimes(DateTime encountertime)
    {
        using (var context = new ChaosModel())
        {
            var query = from et in context.Encountertimes
                        where et.Tencounter.Date == encountertime.Date
                        select et;

            var result = context.CreateDetachedCopy(query.ToList());
            return result;
        }
    }
}
[服务合同]
公共类超服务
{
[经营合同]
公共IEnumerable GetEncounterTimes(DateTime encountertime)
{
使用(var context=new ChaosModel())
{
var query=来自上下文中的et。遇到
其中et.Tencounter.Date==遇到时间.Date
选择et;
var result=context.CreateDetachedCopy(query.ToList());
返回结果;
}
}
}

展开客户端项目中的ServiceReferences。 右键单击
ChaosService

选择更新服务引用。

您是否尝试过更新服务引用?如何更新服务引用?它非常基本,只需通过谷歌搜索即可