gpt4 book ai didi

c# - 如何在 Entity Framework 5 代码中映射标识关系第一个子实体与多个互斥父实体

转载 作者:太空狗 更新时间:2023-10-29 23:51:48 24 4
gpt4 key购买 nike

我正在使用 Entity Framework 5 Code First 并且我有以下模型:

class Document
{
public int Id {get;set;}
public String Name {get;set;}

public IList<Page> Pages {get;set;}
}

class DocumentTemplate
{
public int Id {get;set;}
public String Description {get;set;}
public String Name {get;set;}

public IList<Page> Pages {get;set;}
}

class Page
{
public int Id {get;set;}
public string Text {get;set;}
}

我知道如何映射子实体有 1 个父实体的标识关系。但我想映射 Page 实体,以便它具有每个父级的标识关系。

此外,父关系是互斥的。特定页面将属于 DocumentTemplate 或 Document,但不能同时属于两者。

在 Entity Framework 5 中可以进行这样的映射吗?

我不想为页面创建单独的实体,因为它们本质上是相同的,除了父关系。

TIA。

最佳答案

我不认为你可以有多个 parent ,但我会考虑以下选项:
(任何文档都属于some-template,只有模板才能有页面)

class Document
{
public int Id {get;set;}
public String Name {get;set;}
public DocumentTemplate DocumentTemplate{get;set;}
}

class DocumentTemplate
{
public int Id {get;set;}
public String Description {get;set;}
public String Name {get;set;}

public IList<Page> Pages {get;set;}
}

class Page
{
public int Id {get;set;}
public string Text {get;set;}
}

关于c# - 如何在 Entity Framework 5 代码中映射标识关系第一个子实体与多个互斥父实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15023137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com