Я использую code-first для разработки своей модели и выбрал GUID в качестве типа данных для своих первичных ключей. Мои классы выглядят так:
public class AccountMovementPlan
{
[Key, DatabaseGenerated( System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity )]
public Guid AccountMovementPlanID { get; set; }
[Required]
public Guid UserAccountID { get; set; }
[ForeignKey("UserAccountID")]
public UserAccount UserAccount { get; set; }
// etc, etc, etc
}
Затем я выбрал SQL Server CE 4.0 в качестве хранилища данных, реализовал конфигурацию для использования SqlCEConnectionFactory
и использования DropCreateDatabaseIfModelChanges
в качестве метода инициализации.
Но когда я пытаюсь запустить свое приложение, меня встречает ошибка
В EntityFramework.dll произошло необработанное исключение типа «System.Data.SqlServerCe.SqlCeException».
который сообщает мне, что
Столбец идентификаторов должен быть целочисленным или большим целочисленным типом данных и не может иметь значение NULL.
Мой вопрос очевиден: SQL Server CE с code-first не поддерживает автоматически сгенерированные GUID в качестве PK? Или у меня где-то ошибка?
Большое спасибо.