私は私のアイデンティティクラスのためにこのセットアップを持っています:
public class Identity
{
public Identity()
{
this.Roles = new List<Role>();
}
public int Id { get; set; }
public System.DateTime DateAdded { get; set; }
public string identityprovider { get; set; }
public string nameidentifier { get; set; }
public System.DateTime LastLoggedIn { get; set; }
public virtual ICollection<Role> Roles { get; set; }
}
public class IdentityMap : EntityTypeConfiguration<Identity>
{
public IdentityMap()
{
// Primary Key
this.HasKey(t => t.Id);
// Properties
this.Property(t => t.identityprovider)
.IsRequired()
.HasMaxLength(255);
this.Property(t => t.nameidentifier)
.IsRequired();
// Table & Column Mappings
this.ToTable("Identities");
this.Property(t => t.Id).HasColumnName("Id")
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
//ERROR WHEN ADDING ABOVE LINE DatabaseGeneratedOption.Identity
this.Property(t => t.DateAdded).HasColumnName("DateAdded").
HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed);
this.Property(t => t.identityprovider).HasColumnName("identityprovider");
this.Property(t => t.nameidentifier).HasColumnName("nameidentifier");
this.Property(t => t.LastLoggedIn).HasColumnName("LastLoggedIn")
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed);
// Relationships
this.HasMany(t => t.Roles)
.WithMany(t => t.Identities)
.Map(m =>
{
m.ToTable("IdentityRoles");
m.MapLeftKey("Identities_Id");
m.MapRightKey("Roles_Id");
});
}
}
移行を追加しようとすると、次のエラーが発生します。
タイプ 'S_Innovations.TrafficTheory.EFModel.Models.Identity' のプロパティ 'Id' に競合する構成設定が指定されました: DatabaseGeneratedOption = ID は DatabaseGeneratedOption と競合します = None