データベースからのEntity Framework最初にC#WebApiで多対多の関係を持つテーブルモデルクラスを作成しました。Entity Framework多対多および既定のデータ投稿
テーブルACCOUNTSテーブルとテーブルMETADATAには多対多の関係があります。 私はACCOUNTSテーブルに新しいエントリを追加し、このエントリをMETADATAテーブルのいくつかの既存エントリとリンクしたいと考えています。 AngularJSを使ってデータを投稿するにはどうしたらいいですか?
私は$をhttpにこのデータを送信しています:
var account: {
Title: 'Title',
User: 'User',
METADATA: [
{
Name: 'value1'
},
{
Name: 'value2'
}]
}
上記アカウント変数がACCOUNTSクラスに基づいてPOSTを使用してC#のウェブAPIによって読み取られ、[FromBody]このようにされている:
[HttpPost]
public async Task<IHttpActionResult> Add([FromBody]ACCOUNTS account)
{
db.ACCOUNTS.Add(account);
await db.SaveChangesAsync();
int accountId = account.AccountId;
return Ok(accountId);
}
テーブルMETADATAに値1と値2が存在することに主キー違反が発生しました。 値がテーブルに存在するため、これは正しいです。
実際には、これらの値を、ACCOUNTSとMETADATAを多対多の関係としてリンクする「中間テーブル」にリンクし、追加しないことをお勧めします。
このシナリオの解決策はありますか?
恐ろしいです!ありがとうございました。 – sski