Первый подход к базовому коду Entity – запрос таблицы

Вопрос:

В подходе CODE FIRST,

Как сохранить столбцы идентичности как с семенем идентификации (без автоматического увеличения)?

Моя сущность:

public class Product
{
public int Id { get; set; }

...

}

Также, как сделать здесь иностранный ключ? Я хочу добавить внешний ключ для объекта ниже. Каковы свойства, которые я должен добавить в класс продукта выше?

public class ProductType
{

public int id { get; set; }
....

}

Спасибо

Лучший ответ:

По соглашению, настройка по умолчанию

Если тип свойства первичного ключа является числовым или GUID, он будет настроен как столбец идентификатора.

Вы можете изменить это, предоставив атрибут DatabaseGenerated и установив его как DatabaseGeneratedOption.None.

Чтобы иметь внешний ключ от Product to ProductType вам нужно будет предоставить ниже коллекцию класса ProductType, он будет автоматически обнаружен по соглашению, EF будет генерировать столбец внешнего ключа ProductType_Id в таблице Products.

public ICollection<Product> Products { get; set; }

Однако для навигации по обоим классам вы можете добавить код ниже по классу Product.

public int ProductTypeId { get; set; }
public ProductType ProductType { get; set; }

Вот полный код классов.

public class Product
{
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int Id { get; set; }
    public int ProductTypeId { get; set; }
    public ProductType ProductType { get; set; }
}
public class ProductType
{
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int Id { get; set; }
    public ICollection<Product> Products { get; set; }
}

Оцените статью
TechArks.Ru
Добавить комментарий