Plants と Information の 2 つのテーブルがあります。すべてのプラントには多くの情報がありますが、各プラントには単一の MainInformation があります。したがって、この 2 つの間には 1 対多の関係と 1 対 1 の関係があります。Information テーブルには PlantID があり、Plants テーブルには MainInformationID があります。両方のテーブルの両方のフィールドが null にならないようにします。ただし、2 つのレコードのいずれもテーブルに挿入することはできません。これは、それぞれのレコードでフィールドが null でない必要があるためです。つまり、自分自身を作成するには、最初に他のレコードを作成する必要があります。おそらく、これは適切なデータベース設計ではなく、何かを変更する必要がありますか? (データベースとエンティティ フレームワークは初めてです)
データベース自体に手動で挿入しようとしましたが、できません。このコードも EntityFramework で試しました。
using (var context = new MyEntities())
{
var p = new Plant()
{
LatinName = "latinNameTest",
LocalName = "localNameTest",
CycleTime = 500
};
var i = new Information()
{
ShortDescription = "ShortDesc",
LongDescription = "LongDesc"
};
p.MainInformation = i;
i.Plant = p;
context.AddToPlants(p);
context.AddToInformation(i);
context.SaveChanges();
}