2
Newtonsoftを使用してWeb APIのjson出力のプロパティ名を変更しています。代替プロパティ名を使用してODataを照会する方法
public class User : IEntity
{
[Newtonsoft.Json.JsonProperty(PropertyName = "user_name"]
public string Username { get; set; }
}
私はリクエストにクエリを追加できるようにodataクエリを有効にしました。
[HttpGet]
[Route("api/users")]
[EnableQuery]
public IQueryable<User> GetUser()
{
return dbContext.DbSet<User>();
}
代替プロパティ名を使用してクエリを実行すると失敗します。
GET/API /ユーザーは?$ = user_nameの
URIで指定されたクエリを選択することは有効ではありません。 'user_name'という名前のプロパティが見つかりませんでした
エンティティモデル名Username
(公開されていません)を使用すると、クエリは正常に動作します。デシリアライズを処理するのにNewtonsoftを使用している間にこれを修正するにはどうすればよいですか?
http://stackoverflow.com/questions/33663255/odata-entity-property-serialization-name-different-than-c-sharp-variable-nameに似ています。 – user845279