Структура сущности и таблица без первичного ключа и значения notnull

Я использую структуру сущности в бритве mvc. edmx не принимает таблицу со всеми допустимыми нулевыми столбцами. Когда я обновляю модель из базы данных, таблица не добавляется в структуру сущностей.

USE [exampledb]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[Table_1](
    [id] [int] NULL,
    [name] [varchar](50) NULL
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

person gs11111    schedule 14.08.2013    source источник


Ответы (1)


Что ж, Entity Framework нужен способ уникальной идентификации каждой строки в вашей таблице. Поскольку в дизайне БД идентификация строк выполняется с помощью первичного ключа (Entity Key в модели), вам необходимо добавить их в свою таблицу, иначе у вас возникнут проблемы с добавлением таблицы в модель EF. Иногда объект может автоматически вывести ключ объекта (например, это часто происходит при создании модели из представления). Кроме того, для просмотра распространенным способом преодоления этой проблемы является использование оператора ISNULL.

Но для таблицы - у вас должно быть ненулевое идентификационное поле, лучше - первичный ключ (чтобы соответствовать шаблонам проектирования БД), чтобы эта таблица была добавлена ​​​​в вашу модель.

person Dmytro    schedule 14.08.2013
comment
спасибо, так что пример таблицы, которую я предоставил, не может быть добавлен в сущность? - person gs11111; 14.08.2013
comment
Нет. Лучшее решение — пометить id как первичный ключ (что автоматически сделает этот столбец необнуляемым) или добавить еще один столбец, например entity_id, который будет, например, целым числом, автоинкрементом и первичным ключом. - person Dmytro; 14.08.2013