Ich habe folgende Modelle:Entity Framework neue Einträge aus Navigationseigenschaften zu schaffen
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; }
}
Und Im den folgenden Endpunkt treffen:
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;
}
Mit diesen Daten:
{
"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
}
]
}
Statt Referenzieren der vorhandenen Benutzerobjekte Entity Framework erstellt neue Benutzerobjekte wie folgt:
{
"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
}
]
}
Ich bin nicht sicher, ob ich Navigationseigenschaften falsch mache. Die Beziehung zwischen Konversation und Benutzer sollte viele zu viele sein.
Oh ich sehe, danke! –