我有这样的东西:(伪代码)
public class Author
{
int id;
public List<Thread> Threads;
public List<ThreadPoints> ThreadPointses;
}
public class Thread
{
int id;
public List<ThreadPoints> ThreadPointses;
}
public class ThreadPoints
{
int id;
int Points;
}
而且我不确定上面是否正确,但现在我想获得指定作者在指定线程中的点数。我不能直接调用ThreadPoints.Thread_id
,因为它不可访问,即使它物理上在数据库中。那么我需要改变我的模型,还是我不知道一些有用的方法?
所以基本上,我的模型看起来像这样:
public class Account
{
[Key]
public Guid AccountId { get; set; }
public string UserName { get; set; }
public List<Post> Posts { get; set; }
public List<Post> ModifiedPosts { get; set; }
public List<Thread> Threads { get; set; }
public List<ThreadPoints> ThreadPointses { get; set; }
public List<Thread> LastReplied { get; set; }
public int Points { get; set; }
}
public class Thread
{
[Key]
public int Id { get; set; }
public List<ThreadPoints> ThreadPointses { get; set; }
public List<Post> Posts { get; set; }
public int CurrentValue { get; set; }
public int NumberOfPosts { get; set; }
public int TotalValue { get; set; }
public int Views { get; set; }
public string Title { get; set; }
public DateTime DateCreated { get; set; }
}
public class ThreadPoints
{
[Key]
public int Id { get; set; }
public int Points { get; set; }
}
我需要的是,当用户创建一个线程时,他会给它一些分数。在下一个动作中,我想(从数据库中)获取那么多点,并增加它。但我只有线程 ID 作为输入信息。
您的答案可能很好,(就我正在尝试实现它而言),但无论如何,我不确定这个模型。也许我应该手动将外键添加到我的模型中?它肯定会更简单,但是我的数据库中有两个外键......