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
Entity framework EntityFramework DbSet.Attach()+OData查询接口_Entity Framework_Odata - Fatal编程技术网

Entity framework EntityFramework DbSet.Attach()+OData查询接口

Entity framework EntityFramework DbSet.Attach()+OData查询接口,entity-framework,odata,Entity Framework,Odata,我有一个带有QueryInterceptor的OData服务,我想它会将一条记录附加到当前的DBSet中——新附加的记录是否应该在数据上下文中立即可用 [QueryInterceptor("MyTable")] public Expression<Func<MyTable, bool>> FilterMyTable() { this.CurrentDataSource.MyTable.Attach(new MyTable() { PK =

我有一个带有QueryInterceptor的OData服务,我想它会将一条记录附加到当前的DBSet中——新附加的记录是否应该在数据上下文中立即可用

[QueryInterceptor("MyTable")]
public Expression<Func<MyTable, bool>> FilterMyTable()
{
    this.CurrentDataSource.MyTable.Attach(new MyTable()
    {
        PK = "1"
    });

    return p => p.PK == "1";
}
此处理程序的this.CurrentDataSource.MyTable中没有新的MyTable实体, ODataWebService也不会返回它

唯一可行的方法是使用“添加”而不是“附加”,将更改保存到数据库,然后webservice从数据库返回记录。
webservice可以返回这样的新记录而不首先将其保存到db吗?

MyTable将从Datacontext中提供-您不需要附加。这应该起作用:

[QueryInterceptor("MyTable")]
public Expression<Func<MyTable, bool>> FilterMyTable()
{
    return p => p.PK == "1";
}