次のような新しいマッピングされたエンティティを作成したいと思います。
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
、他のアイテムとは異なるテーブルにあり、それらのテーブルの 1 つにポリモーフィック外部キーがあることです。ここに私のテーブルがあります:
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 には、エンティティを 2 つのテーブルにマッピングする方法に関する HOWTO があります ( hereおよびhere ) が、通常の外部キーに依存しているようです。
結合の値をマップPaths.ItemId
しItems.Id
てからハードコーディングする方法はありますか?Paths.ItemType