Odpowiedz

26

EF używa DatabaseGeneratedOption, aby dowiedzieć się, co zrobić z wartością kolumny klucza dla nowych podmiotów. Jeśli wartość DatabaseGeneratedOption wynosi Identity EF wie, że wartość, do której ustawiona jest właściwość, może zostać zignorowana i że należy użyć tej, która pochodzi z bazy danych. Jeśli DatabaseGeneratedOption jest None EF wstawi wartość właściwości do bazy danych jako wartość kolumny klucza.

W kodzie Najpierw - gdy konwencje Code First znajdują właściwość int, która może być kluczową własnością dla danego podmiotu, domyślnie skonfigurują tę kolumnę jako kolumnę tożsamości (co oznacza, że ​​baza danych wygeneruje wartość kluczowej kolumny/właściwości). DatabaseGeneratedOption.None pozwala na zastąpienie tego, jeśli chcesz ustawić własne wartości.

+2

Zobacz: http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.schema.databasegeneratedoption%28v=vs.110%29.aspx –

2

Jego skutkiem jest skonfigurowanie EF, aby nie pobierać nowej wartości tożsamości po wstawieniu do bazy danych.

Powiązane problemy