从数据库(由MVC通过虚拟集合创建)中获取对象的父id
本文关键字:获取 取对象 id 创建 集合 数据库 MVC 虚拟 | 更新日期: 2023-09-27 18:13:05
我的数据库由EF-CodeFirst生成。我有3个模型,包含板,线程和帖子。我没有手动跟踪所有的parent_id值,而是用一些iccollections创建了它们,这样EF就为我做了这件事。
然而,当我在线程/视图/5页,我希望能够获取其父板Id,但我不知道如何。列确实存在于数据库中,因为所有EF所做的是创建一个Board_Id字段,并在我创建线程并将其添加到数据库时填充它。线程ICollection。
下面是我的代码:
// Board model, containing a title and a collection of threads
public class Board
{
public int Id { get; set; }
public string Title { get; set; }
public virtual ICollection<Thread> Threads { get; set; }
}
// Thread model, containing a title and a collection of posts
public class Thread
{
public int Id { get; set; }
public string Title { get; set; }
public virtual ICollection<Post> Posts { get; set; }
}
现在,当我在线程/视图操作,我如何去获取从列Board_Id的值?
// GET: Threads/View/5
[AllowAnonymous]
public ActionResult View(int? id) {
Thread thread = db.Threads.Find(id);
// Fetch the parent board Id
int boardId = ...;
return View(thread);
}
你需要一个Board属性在你的Thread类中。属性将是
public virtual Board Board {get; set;}
有了这个属性,你就可以从Thread导航到Board