Xamarin odata POST 方法多次命中并使用旧数据
Xamarin odata POST method hitting multiple times and is using old data
我有一个使用 odata 与 Web api 项目通信的 Xamarin 项目。
在数据库中创建新项目时,第一次一切正常,在 Xamarin 视图模型中点击下面的行时,odata POST 方法只被点击一次。
await db.SaveChangesAsync();
下次我尝试保存新项目时,POST 方法被点击了两次。下面“挑战”对象中的第一次数据,是新数据。然后不知何故 POST 方法断点再次命中,并且它具有以前的项目数据。但是,xamarin 视图模型 SaveChangesAsync 只被命中一次。
public async Task<IHttpActionResult> Post(Challenge challenge)
本次操作结束,EF成功保存对象。但是,odata 抛出错误:“上下文已经在跟踪具有相同资源 Uri 的不同实体。”
我真的不知道发生了什么。我对 Xamarin 比较陌生,对 odata 也很陌生。 odata 是否以某种方式缓存以前的 POST 数据?我真的迷路了,不知道我还能如何尝试调试它。
我花了最后一天半的时间试图 google 解决方案,但此时我什至不知道要搜索什么。
信息:
Web 项目使用带 EF 的 MVC 5
xamarin项目使用Xamarin forms 5.0.0.2291
数据 7.9.0
如有任何帮助,我们将不胜感激。
原来我在 oData 控制器和网络实用程序中都启动了一个新对象
var bar = new Foo();
和
var bar2 = new Foo();
所以我假设 oData 正在跟踪 bar
的上下文,而 EF 正在跟踪 bar2
的上下文
我更改后,它似乎按预期工作
我有一个使用 odata 与 Web api 项目通信的 Xamarin 项目。
在数据库中创建新项目时,第一次一切正常,在 Xamarin 视图模型中点击下面的行时,odata POST 方法只被点击一次。
await db.SaveChangesAsync();
下次我尝试保存新项目时,POST 方法被点击了两次。下面“挑战”对象中的第一次数据,是新数据。然后不知何故 POST 方法断点再次命中,并且它具有以前的项目数据。但是,xamarin 视图模型 SaveChangesAsync 只被命中一次。
public async Task<IHttpActionResult> Post(Challenge challenge)
本次操作结束,EF成功保存对象。但是,odata 抛出错误:“上下文已经在跟踪具有相同资源 Uri 的不同实体。”
我真的不知道发生了什么。我对 Xamarin 比较陌生,对 odata 也很陌生。 odata 是否以某种方式缓存以前的 POST 数据?我真的迷路了,不知道我还能如何尝试调试它。
我花了最后一天半的时间试图 google 解决方案,但此时我什至不知道要搜索什么。
信息: Web 项目使用带 EF 的 MVC 5 xamarin项目使用Xamarin forms 5.0.0.2291 数据 7.9.0
如有任何帮助,我们将不胜感激。
原来我在 oData 控制器和网络实用程序中都启动了一个新对象
var bar = new Foo();
和
var bar2 = new Foo();
所以我假设 oData 正在跟踪 bar
的上下文,而 EF 正在跟踪 bar2
我更改后,它似乎按预期工作