Estou exatamente com o mesmo problema do Fabio Nunes, ele tem um topico ainda nao sulucionado mas nao consigo responder no mesmo topico, entao abri este novo.
Ao gerar a migration ele nao esta trazendo como deveria, a tabela endereco fica a principal e a cliente como dependente.
public partial class Cliente : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Enderecos",
columns: table => new
{
ClienteId = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
Bairro = table.Column<string>(type: "nvarchar(max)", nullable: true),
Cidade = table.Column<string>(type: "nvarchar(max)", nullable: true),
Complemento = table.Column<string>(type: "nvarchar(max)", nullable: true),
Logradouro = table.Column<string>(type: "nvarchar(max)", nullable: true),
Numero = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Enderecos", x => x.ClienteId);
});
migrationBuilder.CreateTable(
name: "Clientes",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
EnderecoDeEntregaClienteId = table.Column<int>(type: "int", nullable: true),
Nome = table.Column<string>(type: "nvarchar(max)", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Clientes", x => x.Id);
table.ForeignKey(
name: "FK_Clientes_Enderecos_EnderecoDeEntregaClienteId",
column: x => x.EnderecoDeEntregaClienteId,
principalTable: "Enderecos",
principalColumn: "ClienteId",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateIndex(
name: "IX_Clientes_EnderecoDeEntregaClienteId",
table: "Clientes",
column: "EnderecoDeEntregaClienteId",
unique: true,
filter: "[EnderecoDeEntregaClienteId] IS NOT NULL");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "Clientes");
migrationBuilder.DropTable(
name: "Enderecos");
}
}