У меня есть следующие модели:рамки Entity создания новых записей из навигационных свойств
public class Conversation
{
public int ConversationId { get; set; }
public virtual User Owner { get; set; }
public virtual ICollection<User> Users { get; set; }
}
public class User
{
public int UserId { get; set; }
public string Name { get; set; }
public virtual ICollection<Conversation> Conversations { get; set; }
}
И Im ударяя следующую конечную точку:
private DirectAPIContext db = new DirectAPIContext();
[HttpPost]
public async Task<Conversation> CreateConversation([FromBody] Conversation conversation)
{
Conversation newConversation = conversation;
db.Conversations.Add(newConversation);
await db.SaveChangesAsync();
return newConversation;
}
С этими данными:
{
"ConversationId": 7,
"Owner": {
"UserId": 27,
"Name": null,
"Conversations": null
},
"Users": [
{
"UserId": 28,
"Name": null,
"Conversations": null
},
{
"UserId": 29,
"Name": null,
"Conversations": null
},
{
"UserId": 30,
"Name": null,
"Conversations": null
}
]
}
Вместо ссылки на ранее существовавшие пользовательские объекты Entity Framework создает новые пользовательские объекты:
{
"ConversationId": 7,
"Owner": {
"UserId": 27,
"Name": null,
"Conversations": null
},
"Users": [
{
"UserId": 28,
"Name": null,
"Conversations": null
},
{
"UserId": 29,
"Name": null,
"Conversations": null
},
{
"UserId": 30,
"Name": null,
"Conversations": null
}
]
}
Не уверен, что неправильно делаю навигационные свойства. Отношения между разговором и пользователем должны быть многими.
О, я вижу, спасибо! –