В ASP.NET я использую Entity Framework с кодовым подходом и хочу, чтобы на основе моей модели была создана таблица DB. Одним из атрибутов является значение Enum, и оно не отображается как столбец в сгенерированной таблице.Entity Framework enum атрибут для столбца таблицы (код-первый подход)
Так что это мое перечисление:
public enum MyEnum
{
val_one = 1,
val_two = 2,
val_three = 3
}
И это моя модель:
public class MyModel
{
public int Id { get; set; }
public string attrString { get; set; }
public double attrDouble { get; set; }
public MyEnum attrEnum { get; set; }
}
Так с подходом кодового первым я сформировав таблицу со следующими столбцами:
CREATE TABLE [dbo].[MyModel]
(
[Id] INT IDENTITY (1, 1) NOT NULL,
[attrString] NVARCHAR (MAX) NOT NULL,
[attrDouble] FLOAT (53) NOT NULL,
[attrEnum] INT NOT NULL,
CONSTRAINT [PK_dbo.MyModel] PRIMARY KEY CLUSTERED ([Id] ASC)
);
И позже, когда вы создаете формы (контроллер и представления) на основе модели, у меня есть формы, где attrEnum
отсутствует.
Итак, как действовать, чтобы иметь этот атрибут enum (в формате раскрывающегося списка) в формах (по-прежнему используя подход, основанный на кодах). Я предполагаю, что может потребоваться генерация другой таблицы DB, которая будет содержать перечисления, но я действительно не уверен, как это сделать в Entity Framework, так как я начинаю в ней.
См. Этот популярный вопрос http://stackoverflow.com/questions/388483/how-do-you-create-a-dropdownlist-from-an-enum-in-asp-net-mvc –
База данных не имеет ничего прямого делать с вашими формами. Вам необходимо изменить представления, которые вы изменили. – DavidG