我有QueryInterceptor的OData服务,我想将记录附加到当前的DBSet - 不应该在数据上下文中立即提供新附加的记录吗?
[QueryInterceptor("MyTable")]
public Expression<Func<MyTable, bool>> FilterMyTable()
{
this.CurrentDataSource.MyTable.Attach(new MyTable()
{
PK = "1"
});
return p => p.PK == "1";
}
新的MyTable实体在此处理程序的this.CurrentDataSource.MyTable中不可用, 并且OData webservice也不会返回它。
只有这样才有效 - 使用“添加”代替“附加”,将更改保存到db,然后webservice从db返回记录。 webservice可以返回这样的新记录而不先将其保存到db吗?
答案 0 :(得分:0)
MyTable将可从Datacontext获得 - 您无需附加。这应该有效:
[QueryInterceptor("MyTable")]
public Expression<Func<MyTable, bool>> FilterMyTable()
{
return p => p.PK == "1";
}