私はEFとコードファーストを使用しています。私は2つの異なるテーブルに2つのエンティティをマップしようとします。 まず最初に、マテリアルをテーブルマテリアルにマッピングしようとします。次に、PlannedMaterialをマテリアルとScheduleRowsの両方にマッピングしようとします。2つのエンティティを2つの異なるテーブルにマップできますか?
1つのScheduleRowには、Materialsテーブルの行にForeigtnキーが必要です。 MaterialsテーブルからScheduleRowsテーブルへの外部キーはありません。
これは私のエンティティです。
public class Material
{
public int Id { get; set; } // from material table
public string Name { get; set; } // from material table
// public PlannedMaterial PlannedMaterial { get; set; } Do I need this? I don't want a relation from this side.
}
public class PlannedMaterial
{
public int Id { get; set; } // from *ScheduleRow table*
public string Name { get; set; } // from *material table*
public int SequenceNo { get; set; } // from *ScheduleRow* table
public Material Material { get; set; } // Do I need this? I'm only interrested in the Name column from the material table
}
これは私のテーブルです。
CREATE TABLE [dbo].[RunScheduleRow](
[Id] [int] IDENTITY(1,1) NOT NULL,
[SequenceNo] [int] NOT NULL,
[Material_id] [int] NOT NULL) -- FK to Material table
CREATE TABLE [dbo].[Material](
[Id] [int] NOT NULL,
[Name] [nvarchar](max) NULL)
私はOnModelCreating(DbModelBuilder ModelBuilderの)に堪能APIを使用してこのマッピングをしたいです。出来ますか?どうやって?
私はすべてのアイデアや提案を感謝します。
事実、 kindofは最初のコードのコンセプトに反する –