Я следую примеру структуры сущностей:
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.
Но когда я хочу создать человека, с помощью:
Почему я должен поставить id, если этот столбец является автоинкрементом?
РЕДАКТИРОВАТЬŁ
Я подумал, что нашел способ решить мою проблему:
var schoolContext = new SchoolEntities();
schoolContext.AddToPeople(new Person() { LastName = "Gates", FirstName = "Bil" });
schoolContext.SaveChanges();
, потому что это добавило Билла к людям, но ... потому что PersonID не имеет значения nullable, и он вставил его с идентификатором 0. Когда я попытался добавить другого человека тем же способом, я, конечно, получаю ошибку о первичном ключе:)
Так все еще ни с чем ...
Есть идеи?