Entity Framework - поле «Категория» не обязательно - PullRequest
2 голосов
/ 28 февраля 2012

У меня есть два объекта POCO:

public class Product
{
    public int ProductID { get; set; }
    public string Name { get; set; }
    public int CategoryID { get; set; }
    public virtual Category Category { get; set; }
}

public class Category
{
    public int CategoryID { get; set; }
    public string Name { get; set; }
}

Так что, очевидно, когда я создаю продукт, я могу выбрать категорию для этого продукта.Вернее, требуется категория.

Я не могу создать продукт без явного выбора категории, а мои данные структурированы таким образом, что я не хочу создавать «Нет категории».запись категории.

Я думал о том, чтобы сделать отображение многих ко многим между этими двумя таблицами ... но хотел бы избежать этого, если это возможно.

Либо я что-то делаюглупо, или на самом деле нет никакого способа сделать это.

Любая помощь будет признательна!

1 Ответ

8 голосов
/ 28 февраля 2012

Сделать CategoryID обнуляемым.Если вы не введете значение для CategoryID, в базе данных будет установлено значение NULL.

public class Product
{
    public int ProductID { get; set; }
    public string Name { get; set; }
    public int? CategoryID { get; set; }
    public virtual Category Category { get; set; }
}
...