实体框架1到0..1在单个实体中的关系

时间:2014-04-17 18:35:30

标签: entity-framework

示例

我有一个场景,我在单个实体中为DB中的两个表定义了1对1的关系。我这样做是通过使用以下映射(名称已被更改以保护无辜):

modelBuilder.Entity<SingleEntity>()
            .Map(map =>
            {
                map.Properties(p => new
                {
                    p.MetaData1,
                    p.MetaData2,
                    p.Foo,
                    p.Bar
                });

                map.ToTable("EntityInfo");

            })
            .Map(map =>
            {
                map.Properties(p => new
                {
                    p.BinaryArray,
                    p.ContentType,
                    p.FileName
                });

                map.ToTable("EntityDocument");

            });

这给了我域中的单个实体,但是将与该实体关联的数据保存到两个不同的表中。这样做是为了可以检索文档上的元数据,而无需在查询上提取每个文档的整个二进制文件。

当需求是Document Meta数据总是有一个与之关联的文档时,这就有用了......然后需求发生了变化(因为他们不习惯)。现在我们可以在尚未存在的文档上获得元数据。

我的问题

我想用1到0..1的关系建模相同的实体 ,不用 将实体分成两个实体。基于我到目前为止所做的搜索,我不确定是否可以这样做,但如果我错了(我希望我是),我真的更愿意将此对象建模为像以前一样的单个实体。

知道如何在Entity Framework中映射这种类型的关系吗?

0 个答案:

没有答案