Entity framework EntityFramework DbSet.Attach()+OData查询接口
我有一个带有QueryInterceptor的OData服务,我想它会将一条记录附加到当前的DBSet中——新附加的记录是否应该在数据上下文中立即可用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("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";
}