Я пытаюсь создать базу данных фактурирования с Entity Framework 4.3 с использованием кода First с аннотациями данных, и я получаю ошибку каждый раз, когда я пытаюсь создать свою базу данных , Вот те объекты, которые я имею дело с:Индекс уже существует ошибка в EF 4.3 Код Сначала с аннотациями данных
public class ClientBase
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ClientID { get; set; }
[Required]
public string ClientName { get; set; }
[Required]
public bool IsActive { get; set; }
[Required]
public string ClientContactName { get; set; }
[Required]
public string ClientContactEmail { get; set; }
public virtual List<PropertyBase> Communities { get; set; }
}
public class PropertyBase
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int PropertyID { get; set; }
[ForeignKey("Client")]
public int ClientID { get; set; }
[Required, EnumDataType(typeof(BillingFrequency))]
public BillingFrequency PropertyBillingFrequency { get; set; }
[Required]
public bool IsActive { get; set; }
[Required]
public string PropertyName { get; set; }
public string PropertyStreet { get; set; }
public string PropertyCity { get; set; }
public string PropertyState { get; set; }
public int PropertyZipCode { get; set; }
public virtual ClientBase Client { get; set; }
}
Независимо от того, что я пытаюсь сделать, я всегда получаю эту ошибку:
The operation failed because an index or statistics with name 'IX_ClientID' already exists on table 'Property'.
Я видел решения этого вопроса с Fluent API, но я не нашел его для Data Annotations.
Кто-нибудь знает, как это исправить?
EDIT: Вот код в DbContext:
public DbSet<ClientBase> ClientBases { get; set; }
public DbSet<PropertyBase> PropertyBases { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
base.OnModelCreating(modelBuilder);
}
Все это работает для меня. Я не понимаю, где в этой конфигурации появляется таблица «Свойство» *. – tzerb
Yikes! Я забыл поставить [Таблица («Свойство») над классом PropertyBase. – IronMan84
Может ли быть запущен триггер на SQL-сервере, который создал индекс? Я понятия не имею, откуда он (даже первый). – tzerb