Używam EF 4.1 CodeFirst do utworzenia mojej bazy danych. Wydaje się, że EF tworzy wszystkie podstawowe klucze z indeksem klastrowym, co nie jest optymalne dla nas w jednym przypadku (być może w większej liczbie przypadków). Czy istnieje sposób, aby powiedzieć EF, aby wygenerować tę tabelę z kluczem podstawowym jako indeks nieklastrowy?Kod EF Najpierw utwórz nieklastrowy indeks klucza podstawowego
Oczywiście moglibyśmy zrobić to ręcznie za pomocą niestandardowego skryptu po utworzeniu bazy danych, ale mamy dużo obcych kluczy wskazujących na tę tabelę, byłoby to dość nieoptymalne rozwiązanie, gdyby było lepiej, bardziej prosto do przodu, aby zrobić to samo już podczas tworzenia DB. Każda pomoc doceniona
IMO dlatego właśnie wynaleziono DB First. – Tridus
@Tridus, afaik Model First był "pierwszy" :) i oczywiście z modelem najpierw byłby to bułka z masłem, ale Code First ma zalety, które uważam za "ładniejsze/czystsze", choć teraz jest bardzo dalekie od doskonałości, jak widać na tym przykładzie tutaj. Nazwałbym to brakiem dotychczasowej personalizacji. – petho
Jest czystszy, z wyjątkiem sytuacji, gdy nie jest. :) Dla rzeczy takich jak ten DB First jest naprawdę ładny, ponieważ po prostu robisz cokolwiek, co musisz zrobić po stronie bazy danych, następnie mów EF "hej wygeneruj trochę POCO z tego". Naprawdę nie ma powodu, dla którego EF lub kod musiałby wiedzieć cokolwiek o typie indeksów używanych po stronie serwera. – Tridus