2014-01-04 2 views
0

Мне нужен какая-то функциональность в моем проекте, и я не знаю, возможно ли это. Вот рис с соотношениями:Обновление отношений в Linq To SQL возможно?

i need to update the keys relation table LessonByFacultyMember and the same keys in Scheduling table

мне нужно обновить ключи отношение таблицы LessonByFacultyMember и те же ключи в таблице планирования. Я имею в виду клавиши LessonNumber, LessonCoursenumber, FacultyMemberId (таблица LessonByFacultyMember) и LessonNumber, CourseNumber, FacultyMemberId (таблица расписания).

Возможно ли обновить такие отношения?

UPDATE:

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

+0

Я думаю, вам нужно обновить ключи в базе данных и снова перетащить эти таблицы в файл dbml. – Priyank

+0

, вероятно, я не ясен, я хочу редактировать значения, сохраненные в ключе динамически в приложении, а не ключ в dbml. – user1940350

ответ

0

Да, вы можете сделать это, выбрав опцию «Обновить каскад» в Foreign Key в базе данных. Эти параметры автоматически обновляют значения ключей в других таблицах. Но в вашем случае это не нужно. В таблице LessonByFacultyMember должен быть столбец LessonByFacultyMemberId в качестве первичного ключа, который должен быть в таблице Scheduling в качестве ссылки вместо того, чтобы помещать все три столбца в таблицу Scheduling. Если вы это сделаете, вам не нужно беспокоиться об обновлении LessonNumber, CourseNumber, FacultyMemberId в таблице расписания. Также в вашей таблице планирования должен быть столбец SchedulingID в качестве основного ключа. Вы можете взять LessonByFacultyMemberId, SchedulingID как автоматически увеличивающееся целое число. Также нет необходимости делать LessonNumber, CourseNumber, FacultyMemberId в качестве основного ключа в таблице LessonByFacultyMember. Вместо этого вам нужно сделать их уникальными. Аналогичным образом в таблице Планирование делает текущий первичный ключ уникальным ключом и имеет SchedulingId в качестве первичного ключа. В случае показа записей вам нужно сделать инструкцию select с помощью объединений, и лучше создать представление для такого утверждения. В случае, если все еще не ясно, создайте sqlFiddle на http://sqlfiddle.com/ для вашей схемы и поделитесь этим вопросом или комментарием к этому ответу. Я обновлю то же самое.

+0

Большое спасибо Приянку, но поскольку я узнал много-много отношений, содержит ключ primay из двух таблиц. таблица отношений находится на каскаде обновления. Таблица планирования также представляет таблицу выравнивания между LessonByFacultyMember и TimeTable. и жаль, что я не смог создать sqlFiddle – user1940350

Смежные вопросы