3
これは私が経路を設定するのに役立つanswerですが、関連するコレクションにエンティティを追加する際に問題が発生しています。odata webapiの関連コレクションに投稿するには
モデル:関連コレクションに投稿するための
public class Book
{
public int BookId { get; set; }
public string Title { get; set; } and so on
[ForeignKey("AuthorId")]
public ICollection<Author> Authors { get; set; }
}
public class Author
{
public int AuthorId { get; set; }
public string Name { get; set; }
[ForeignKey("BookId")]
public ICollection<Book> Books { get; set; }
}
コントローラ方法:私はその作者を見ることができます
[ODataRoute("Books({key})/Authors")]
public async Task<IHttpActionResult> PostAuthor([FromODataUri] int key, Author author)
{
var book = await db.Books.FindAsync(key);
if (book == null)
{
return NotFound();
}
book.Authors.Add(author);
await db.SaveChangesAsync();
return StatusCode(HttpStatusCode.NoContent);
}
を経由して送信されますが、book.Authorsがnullで、あなたは追加することはできません。それに。
link to image
はい、申し訳ありませんでしたタイプミスを - あなたは必要としない場合は()FirstOrDefaultを使用した場合。 –
あなたの答えを私の解決法で編集しましたので、私はそれを受け入れることができます。あなたのアンワーはそれに最も近い回答でしたが、VSでエラーが発生しました。 – kolbanis