Best Practices для таблиц поиска в EF Code-First

Я делаю свой первый проект с EF, и я планирую использовать модель code-first. Я пытаюсь найти небольшое руководство по работе с довольно классическим сценарием «таблицы поиска».

Я имею дело с довольно канонической ситуацией, когда я буду сохранять адресные данные. Итак, у меня есть простой адрес DTO...

public class Address
    {
        public int Id { get; set; }
        public virtual string StreetAddress1 { get; set; }
        public virtual string StreetAddress2 { get; set; }
        public virtual string City { get; set; }
        public virtual string State { get; set; }
        public virtual string ZipCode { get; set; }
    }

В свойстве состояния я хотел бы сохранить стандартный двухбуквенный код штата США. В целях проверки я хотел бы иметь стандартную связь внешнего ключа «один ко многим» между результирующей таблицей адресов и довольно стандартной таблицей поиска состояний. Эта таблица, вероятно, будет содержать идентификатор, двухбуквенный код и третий столбец, содержащий полное название штата.

Я ожидаю, что эта таблица поиска состояния будет использоваться для заполнения и отображения раскрывающихся списков и т. д., а также для проверки состояния, указанного в объекте адреса. Довольно распространенная вещь. Итак, у меня есть пара простых (надеюсь) вопросов.

  1. Нужно ли мне создавать объект для представления объекта State только для того, чтобы пусть EF создаст таблицу, или я могу просто включить создание таблицы обрабатывать в стратегии DBCreation и задавать ее там?
  2. Имеет ли смысл создавать этот объект, просто чтобы использовать его в качестве модели» для любого места, где я хочу отобразить «выбор состояния»
  3. . Я действительно хочу хранить только двухбуквенный код состояния в адресе сущности, но имеет ли это смысл или имеет смысл просто сделать его навигационным свойством для объекта состояния, а затем отобразить?

Я немного затруднился с формулировкой здесь своей точки зрения, поэтому, если я не совсем понятен, не стесняйтесь спрашивать подробности.

Заранее спасибо. правильно в интерфейсе?

12
задан Steve Brouillard 6 April 2012 в 14:43
поделиться