Поле базы данных «Идентичность» и автоинкремент - PullRequest
1 голос
/ 07 марта 2012

Я пишу свое первое приложение для базы данных, и у меня есть двусмысленность, на которую я не могу найти ответ. У меня есть поле id, которое является идентификатором, установленным на автоинкремент. Моя проблема пытается определить, когда поле увеличивается. Увеличивается ли поле при вызове экземпляра объекта, при вызове метода AddObject класса ObjectContext или при вызове метода SaveChanges из модели Entity.

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

Это или очевидно, что я ничего не знаю о том, как работают реляционные базы данных,

Ответы [ 2 ]

2 голосов
/ 07 марта 2012

Поле идентификатора обрабатывается базой данных. Он создается базой данных при вставке строки. Сгенерированный идентификатор считывается обратно SaveChanges, а объект сущности обновляется.

1 голос
/ 07 марта 2012

Когда вы добавляете новую строку в базу данных, счетчик увеличивается.

Если у вас есть неоднозначность, это обычно означает, что поля двух таблиц имеют одинаковые имена, и ваш запрос не знает, какое из них вы хотите. Может быть решен путем определения таблицы, для которой предназначен столбец.

Я не знаю LINQ, так что, надеюсь, кто-то может дать вам более прямой ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...