小编Fab*_*Fab的帖子

实体框架5每个表类型更新,更改子类型但保持相同的基本类型

我有一个简单的层次结构

public abstract class CommunicationSupport
{
    public SupportTypeEnum Type { get; set; }
    public Country Origin { get; set; } // National or Foreign support
}

public class TelecomSupport : CommunicationSupport
{
    public string Number { get; set; }
}

public class PostalSupport : CommunicationSupport
{
    public Address Address { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我计划为我的数据库使用Table-per-type层次结构.因此将创建3个表,一个基数和两个子项使用与基础相同的PK.

我的问题是我希望能够通过更改它的类型来更新CommunicationSupport.假设我创建了一个TelecomSupport,将其保存,然后将其类型更改为PostalSupport并再次保存(更新).我期望的结果是EF保持相同的基本记录(CommunicationSupport Id),但删除TelecomSupport表中的记录并在PostalSupport中创建一个新记录.因此,TelecomSupport和PostalSupport是独家的,不能共享相同的基础CommunicationSupport.

我如何使用EntityFramework 5来做到这一点?

谢谢你的帮助!

entity-framework table-per-type

8
推荐指数
1
解决办法
1877
查看次数

标签 统计

entity-framework ×1

table-per-type ×1