modelBuilder.Entity(b => { b.OwnsOne(v => v.CardInfo); //关联实体 b.HasMany(v => v.MemberValueCardRecord) .WithOne() .HasForeignKey(nameof(MemberValueCardRecord.MemberCardId)); //创建外键 b.HasIndex(v => new {v.VenueId,v.MemberId}) .IsUnique(); //创建VenueId和MemberId的联合唯一索引 }
因为EF Core3.0不支持创建复杂对象的联合唯一索引,只能在Migrations中的UP函数中手写。
例如我需要将MemberValueCard中的VenueId和CardInfo中的Id创建联合唯一索引
migrationBuilder.CreateIndex(
name: "IX_MemberValueCards_VenueId_CardInfo_Id",
table: "MemberValueCards",
columns: new[] { "VenueId", "CardInfo_Id" },
unique: true
);


