Próbuję połączyć dwa pola w unikalny indeks z EF6. Ale polecenie aktualizacji bazy danych nie doda pola "Właściciel" do indeksu. Myślę, że to dlatego, że nie jest to typ pierwotny, ale FK, ale nie jestem pewien, jak to naprawić.Atrybut indeksu C# EF6 nie działa
public class Fund
{
[Key]
public int FundId { get; set; }
[Required]
[Index("IX_FundNameAndOwner", IsUnique = true, Order = 1)]
[Index("IX_FundIdentifierAndOwner", IsUnique = true, Order=1)]
public ApplicationUser Owner { get; set; }
[Required]
[Index("IX_FundNameAndOwner", IsUnique = true, Order=2)]
[MaxLength(25)]
public string Name { get; set; }
[Required]
[Index("IX_FundIdentifierAndOwner", IsUnique = true, Order=2)]
[MaxLength(25)]
public string Identifier { get; set; }
public double Balance { get; set; }
}
generowane indeksy.
tworzyć unikalne nieklastrowe indeks [IX_FundIdentifierAndOwner] ON [dbo] [Środki] ([Identyfikator] ASC);
UTWÓRZ UNIKATOWY INDEKS NIEDOZWOLONY [IX_FundNameAndOwner] ON [dbo]. [Funds] ([Name] ASC);
UTWÓRZ NIEKLAPEROWANY INDEKS [IX_Owner_Id] ON [dbo]. [Funds] ([Owner_Id] ASC);
Każda pomoc jest bardzo doceniana!
Jaka jest definicja ApplicationUser? możesz użyć atrybutu RelatedTo [RelatedTo (RelatedProperty = "Fund", klucz = "OwnerIDOnFund", RelatedKey = "OwnerIDOnApplicationUser")] – Luca