먼저 Entity Framework 6.1 코드를 사용하고 있습니다. 나는 거기에있는 제품의 릴리스 버전 사용자 이름 열에 UserProfile 테이블의 항목이 중복되는 제품에 노력하고 있습니다. 이 버그를 제거하려면 UserName 필드에 Index 주석을 사용하고 있습니다.엔터티 프레임 워크를 사용하여 데이터베이스에서 중복 항목 제거
class UserProfile
{
[Index("IX",IsUnique=True)]
string UserName;
string Id;
}
이제 중복 입력 문제가 사라집니다. 하지만 지금은 이전 버전과의 호환성이 없습니다. 이미 릴리스 제품을 사용하고 있으며 데이터베이스에 중복 항목이있는 고객은 기존 데이터베이스를 사용할 수 없습니다.
내가 엔티티 프레임 워크를 사용하여 마이그레이션을 만들었으며 이미 중복 된 항목이 기존 데이터베이스 처리를하지 않는이
public partial class UserConcurrencyFix : DbMigration
{
public override void Up()
{
CreateIndex("dbo.UserProfiles", "UserName", unique: true);
}
public override void Down()
{
DropIndex("dbo.UserProfiles", new[] { "UserName" });
}
}
이 같은 데이터베이스를 업데이트합니다. 이미 사용자가 사용하고 있고 중복 된 항목이있는 데이터베이스에서 중복을 제거 할 수있는 방법이 있습니까?
데이터 손실없이 실제로이 중복 제거를 자동화 할 수 있습니까? 업그레이드하기 전에 사용자가 자신의 절차에 따라 처리해야합니까? –