보관함

EF 내에 ForeignKey 구성에 따른 스키마 생성

ICollection 사용

public					ICollection<Student>		m_listLandSiteDataText		{ get; set; }

protected override void Up(MigrationBuilder migrationBuilder)
{
	migrationBuilder.AddColumn<int>(
		name: "CourseId",
		table: "Students",
		nullable: true);

	migrationBuilder.CreateIndex(
		name: "IX_Students_CourseId",
		table: "Students",
		column: "CourseId");

	migrationBuilder.AddForeignKey(
		name: "FK_Students_Courses_CourseId",
		table: "Students",
		column: "CourseId",
		principalTable: "Courses",
		principalColumn: "CourseId",
		onDelete: ReferentialAction.Restrict);
}

Index와 ForeignKey 없이 생성

[ForeignKey("Course")]
public					int							CourseId					{ get; set; }

[ForeignKey("CourseId")]
public					int							CourseId					{ get; set; }

protected override void Up(MigrationBuilder migrationBuilder)
{
	migrationBuilder.AddColumn<int>(
		name: "CourseId",
		table: "Students",
		nullable: false,
		defaultValue: 0);
}

virtual 사용시

public					int							CourseId					{ get; set; }
[ForeignKey("CourseId")]
public	virtual			Course						m_mvLandSiteDataImage		{ get; set; }

protected override void Up(MigrationBuilder migrationBuilder)
{
	migrationBuilder.AddColumn<int>(
		name: "CourseId",
		table: "Students",
		nullable: false,
		defaultValue: 0);

	migrationBuilder.CreateIndex(
		name: "IX_Students_CourseId",
		table: "Students",
		column: "CourseId");

	migrationBuilder.AddForeignKey(
		name: "FK_Students_Courses_CourseId",
		table: "Students",
		column: "CourseId",
		principalTable: "Courses",
		principalColumn: "CourseId",
		onDelete: ReferentialAction.Cascade);
}

 

 

 

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.