是否有任何方法可以配置实体框架表拆分以提供一对多的关系。
目前我有以下实体
public class Record
{
public int Id { get; set; }
public string BoxNumber { get; set; }
public string Description { get; set; }
}
这自然在我的数据库中创建了一个表。
使用我的DbContext我可以从我的数据库中检索记录列表。但是,所有记录都有相关的BoxNumber。请考虑以下记录列表: -
Id, BoxNumber, Description
1, 12, Legal Documents
2, 13, Insurance Documents
3, 12, Other Legal Stuff
4, 14, Plans
我想要做的是介绍一个新的实体,如下所示
public class Box
{
public int Id { get; set; }
public string BoxNumber { get; set; }
public List<Record> Records { get; set; }
}
所以目前我可以做这样的事情,它会返回一个Record对象列表。
dbContext.Records.Where(r => r.BoxNumber == 12);
我还希望能够通过执行dbContext.Box.Find(12);
来检索Box,我希望这会返回一个List,其中相关文档填充到Records属性中。
如果我告诉EF一个Box存在它会创建一个Box表 - 我不想要这个,我想将Box类映射到与Record类相同的表。
所以基本上我需要将两个不同的对象映射到数据库中的单个平面表。
这是否可以使用EF。
另一种方法是让我从EF返回文档列表,然后手动构建我的Box类,然后再将其返回到我的前端以供使用。
这次为了论证,我无法控制数据库结构。它可以重新完成,以便我有一个盒子和记录表都相关,但这似乎有点无意义,因为唯一有关Box的信息是BoxNumber。