Подтвердить что ты не робот

Использование Entity Framework Code Сначала CTP5, как мне создать столбец первичного ключа, который является INT и не является столбцами идентификаторов

Использование Entity Framework Code Сначала CTP5, как мне создать столбцы первичного ключа, которые являются INT и не являются столбцами идентификации

Предпочтительно не использовать атрибуты.

4b9b3361

Ответ 1

Если вы создаете свои объекты, используя свободный интерфейс, вместо использования атрибутов поверх свойств, вы можете использовать класс DatabaseGenerationOption (из EntityFramework.dll в пространстве имен System.ComponentModel.DataAnnotations). Я не тестировал его, но это было бы так:

modelBuilder
    .Entity<Foo>()
    .Property(f => f.Id)
    .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);

Ответ 2

Этот ответ не сработал у меня (в EF 4.1).

Чтобы сделать эту работу, я добавил атрибут DatabaseGenerated в свой ключевой столбец:

public class FacebookUser
{
  [Key]
  [DatabaseGenerated(DatabaseGeneratedOption.None)]
  public long FacebookId { get; set; }

  // ...
}

Надеюсь, это поможет кому-то.

Ответ 3

Малое изменение

public class User
{

  [Required, Key, DatabaseGenerated(DatabaseGeneratedOption.None)]

  public int ID { get; set; }

  // Rest of the code
}