我正在尝试访问一个变量,我在我的模型中做了一个真实的关系:
// Threads
public class Thread
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public int NumberOfMessages { get; set; }
public int ViewCount { get; set; }
public string[] Tags { get; set; }
public DateTime LastEdited { get; set; }
public int Vote { get; set; }
// Other model relations
public virtual ICollection<Message> Messages { get; set; }
public virtual Group Group { get; set; }
public virtual ForumUser User { get; set; }
}我正在尝试向数据库添加一条消息,并在消息列表中引用它
thread.Group.Id = groupId;它给了我一个空引用异常。我现在真的知道这是怎么回事了。
我将展示另一个例子,它可能会解释更多
` // Saving the message in the database
forumDb.Messages.Add(block);
forumDb.Threads.Find(threadId).Messages.Add(block);
forumDb.SaveChanges();
}`如果有一个例子我做错了最后一个例子的模型是相同的,那就太好了
发布于 2017-07-14 01:19:53
从您提供的信息来看,您似乎没有初始化Thread的Group属性。
当创建一个对象时,它的属性没有被初始化。由于您试图访问未初始化的Group对象的id属性,因此会得到一个空引用异常。
要解决您的问题,您可以这样做:
thread.Group = new Group(); // First initialize the group
thread.Group.Id = groupId; // Set the id of the newly created Group object.https://stackoverflow.com/questions/45087140
复制相似问题