gpt4 book ai didi

.net - 我可以使用多态外键将 EF 实体映射到两个表吗?

转载 作者:行者123 更新时间:2023-12-04 06:36:34 25 4
gpt4 key购买 nike

我想创建一个新的映射实体,如下所示:

public class PathedItem
{
public long Id { get; set; } // from the Items table
public string Name { get; set; } // from the Items table
public string Path { get; set; } // from the Paths table
}

问题是 Path与其他项目位于不同的表中,并且其中一个表具有多态外键。这是我的表:
CREATE TABLE Items (
[Id] [bigint] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](255) NOT NULL)

CREATE TABLE Paths (
[Id] [bigint] IDENTITY(1,1) NOT NULL,
[Path] [nvarchar](255) NOT NULL,
[ItemId] [bigint] NOT NULL,
[ItemType] [int] NOT NULL)

Microsoft 有关于将实体映射到两个表( herehere )的 HOWTO,但它们似乎依赖于一个普通的外键。

有什么方法可以映射 Paths.ItemIdItems.Id然后为 Paths.ItemType 硬编码一个值在加入?

最佳答案

执行此操作的一种方法是创建一个 View ,其中包含您需要的列和 ItemType 上的过滤器。

然后将该 View 添加到您的实体模型中。

关于.net - 我可以使用多态外键将 EF 实体映射到两个表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4797992/

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