У меня есть 2 класса, Message и User, и я создал viewModel, который содержит оба этих класса:
public class User
{
[Key]
public int UserId { get; set; }
public string Username { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public ICollection<Message>? Messages { get; set; } = new Collection<Message>();
}
public class Message
{
[Key]
public int MessageId { get; set; }
public string MessageContent { get; set; }
public DateTime DateCreated { get; set; }
}
public class NewMessageViewModel
{
public Message Message { get; set; }
public User? Sender { get; set; }
public User? Receiver { get; set; }
}
Однако, когда я пытаюсь передать viewModel через контроллер и вернуть его json имеет ошибку 'System.NullReferenceException: 'Object reference not set to an instance of an object.'
Я не прохожу через что-то правильно, это я знаю, но на самом деле я вижу, что не так! Я слишком близок к объективности, может ли кто-нибудь указать на мою глупую ошибку?
действие моего контроллера:
[Route("NewMessageViewModel")]
[HttpGet]
public NewMessageViewModel GetNewMessageViewModel()
{
NewMessageViewModel newmv = new NewMessageViewModel
{
Message = { MessageContent = "HelloWord", MessageId = 1, DateCreated = DateTime.Now},
Receiver = { UserId = 1, Messages = null, FirstName = "Andy", LastName = "Stav", Username = "AndyStav" },
Sender = { UserId = 2, Messages = null, FirstName = "Test", LastName = "Test", Username = "Test" }
};
return newmv;
}