Mam tabelę (Id, name, itemst, otherproperties), Id jest klucz podstawowy i chcę unikalny klucz złożony (name, itemst). Jak mogę dodać to za pomocą kodu najpierw albo przez płynny API (preferowany) albo adnotację?Jak dodać klucz złożony unikatowy przy użyciu EF 6 Fluent Api?
10
A
Odpowiedz
11
Oto przykład pokazujący, jak utworzyć złożony klucz unikalny za pomocą płynnego interfejsu API. Klucz złożony składa się z ProjectId i SectionOdKey.
public class Table
{
int Id{set;get;}
int ProjectId {set;get;}
string SectionOdKey{set;get;}
}
public class TableMap : EntityTypeConfiguration<Table>
{
this.Property(t => t.ProjectId).HasColumnName("ProjectId")
.HasColumnAnnotation("Index", new IndexAnnotation(new IndexAttribute("IX_ProjectSectionOd", 1){IsUnique = true}));
this.Property(t => t.SectionOdKey).HasColumnName("SectionOdKey")
.HasColumnAnnotation("Index", new IndexAnnotation(new IndexAttribute("IX_ProjectSectionOd", 2){IsUnique = true}));
}
13
powiedzmy masz podmiot o nazwie
public class MyTable
{
public int Id {get; set;}
public String Name {get; set;}
}
można utworzyć klucz kompozytowego za pomocą
public class YourContext : DbContext
{
public DbSet<MyTable> MyTables { get; set; }
protected override void OnModelCreating(DbModelBuilder builder)
{
builder.Entity<MyTable>().HasKey(table => new {table.Id, table.Name});
}
}
jeśli wolisz adnotacji danych można prosty dodać KeyAttribute
do wielu właściwości
public class MyTable
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] // optional
[Key]
public int Id { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.None)] // optional
[Key]
public String Name { get; set; }
}
Powiązane problemy
- 1. Jak dodać złożony klucz podstawowy do tabeli
- 2. Jak utworzyć klucz złożony hibernacji przy użyciu adnotacji
- 3. Jak ustawić kolumnę bazy danych jako "Sparse" przy korzystaniu z EF Fluent First Fluent API?
- 4. Kod EF Pierwszy interfejs Fluent API definiuje ograniczenie unikalne
- 5. Klucz złożony w JPA
- 6. Podstawowy klucz złożony PostgreSQL
- 7. Kod EF: Odwzorowywanie obiektów nieobsługiwanych za pomocą Fluent API
- 8. Kod EF Pierwsza Fluent API określając Foreign właściwości klucza
- 9. EF Code First - Fluent API (WithRequiredDependent i WithRequiredPrincipal)
- 10. W Firebase przy użyciu funkcji push() Jak pobrać unikatowy identyfikator
- 11. Jak rejestrować wszystkie wywołania API przy użyciu Guzzle 6
- 12. Oracle złożony klucz podstawowy/klucz obcego pytania
- 13. Laravel: Jak dodać klucz złożony (2 lub więcej kolumn) jako klucz $ primaryKey w pokrewnym modelu?
- 14. Podstawowy klucz złożony w django
- 15. Jak odwzorować klucz złożony jednostki w WZP?
- 16. Jak zdefiniować złożony klucz podstawowy w SQL?
- 17. Jak zdefiniować klucz złożony w Persistent
- 18. Jak utworzyć złożony klucz podstawowy (adnotacja java)
- 19. Generowanie indeksów tabel przy użyciu Fluent NHibernate
- 20. ASP.NET dodać migrację „kompozytową podstawowy błąd klucza” Jak stosować Fluent API
- 21. Złożony klucz podstawowy, klucz obcy. Odniesienie do obiektu lub klucza?
- 22. Jak dostosować IObjectContextAdapter z EF 6 do EF Rdzenia
- 23. Jak wyodrębnić klucz publiczny przy użyciu OpenSSL?
- 24. Sortowanie danych przy użyciu EF DbSet
- 25. Możliwy Injection SQL przy użyciu zawiera EF?
- 26. API przy użyciu sockaddr_storage
- 27. jpa hibernacji złożony klucz obcego mapowania
- 28. Jak wygenerować unikatowy klucz publiczny i prywatny za pośrednictwem RSA
- 29. MySQL - unikalny klucz złożony z datetime
- 30. Złożony klucz do Cache guawy (zmiany biegów)
Hej! Właśnie miałem odpowiedzieć na to pytanie. –
@ByteBlast ahh! gr8 2 tutaj, część ans wciąż brakuje, dodając unikalne poprzez płynne API –