Столбец идентификаторов в EF 4

Я следую примеру структуры сущностей:

http://msdn.microsoft.com/en-us/library/bb399182.aspx

и у меня проблема с столбцами идентификаторов.

Вот часть кода создания базы данных:

CREATE TABLE [dbo].[Person](
    [PersonID] [int] IDENTITY(1,1) NOT NULL,
    [LastName] [nvarchar](50) NOT NULL,
    [FirstName] [nvarchar](50) NOT NULL,
    [HireDate] [datetime] NULL,
    [EnrollmentDate] [datetime] NULL,
 CONSTRAINT [PK_School.Student] PRIMARY KEY CLUSTERED 
(
    [PersonID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO

В VS 2010 я собираю .edmx и в модели вижу, что Person StoreGeneratedPattern установлен в Identity.

Но когда я хочу создать человека, с помощью: alt text

Почему я должен поставить id, если этот столбец является автоинкрементом?

РЕДАКТИРОВАТЬŁ

Я подумал, что нашел способ решить мою проблему:

var schoolContext = new SchoolEntities();

            schoolContext.AddToPeople(new Person() { LastName = "Gates", FirstName = "Bil" });

            schoolContext.SaveChanges();

, потому что это добавило Билла к людям, но ... потому что PersonID не имеет значения nullable, и он вставил его с идентификатором 0. Когда я попытался добавить другого человека тем же способом, я, конечно, получаю ошибку о первичном ключе:)

Так все еще ни с чем ...

Есть идеи?

6
задан user278618 4 September 2010 в 12:00
поделиться