OData中是否使用Web Api 2和Entity Framework(代码优先)自动处理ETag?

时间:2014-01-13 19:08:02

标签: asp.net-web-api odata etag

带有实体框架的WCF数据服务自动处理 ETag 标头(使用[ETagAttribute]定义或自[TimestampAttribute]自动处理)。

我从脚手架创建了WebApi2 OData控制器。我的实体具有有效的时间戳(rowversion)属性。但是我没有在http响应中看到ETag标题。

如何使用 OData + Web Api 2 + EF 6 启用有效的ETag处理?

谢谢,Stefan

1 个答案:

答案 0 :(得分:3)

WebAPI v2.2支持OData v4并支持ETag。请参阅此MSDN blog post中的“支持ETag”部分。您可以使用[TimeStamp]属性或[ConcurrencyCheck]属性,但不能同时使用两者。模型上的示例属性如下所示:

[Timestamp] 
public byte[] RowVersion { get; set; }