Я работаю над проектом городского города и у меня есть несколько вопросов по эффективному созданию отношений между "парками" и "действиями" в Microsoft SQL 2000. Мы используем ASP.NET C # для
У меня есть две таблицы "Парки" и "Мероприятия". Я также создал таблицу поиска с правильными отношениями, установленными на первичных ключах «парков» и «мероприятий». Моя таблица поиска называется «ParksActitivies».
У нас есть около 30 видов деятельности, которые мы можем связать с каждым парком. Стажер будет управлять сайтом, и его деятельность будет оцениваться каждые 6 месяцев.
Пока что я создал инструмент администратора, который позволяет вам добавлять / редактировать / удалять каждый парк. Добавить парк просто. Данные новые, поэтому я просто позволяю им редактировать сведения о парке и динамически связывать «Действия» из базы данных. Это было сделано в контроллере повторителя.
Редактирование работает, но я не чувствую, что это так эффективно, как могло бы быть. Сохранение сведений о главном парке не составляет проблем, так как я просто вызываю Save()
в созданном мной экземпляре парка. Однако, чтобы удалить устаревшие записи в таблице поиска, я просто DELETE FROM ParksActitivies WHERE ParkID = @ParkID
", а затем INSERT
запись для каждого из проверенных действий.
Для моего столбца идентификатора в справочной таблице у меня есть возрастающее целочисленное значение, которое после немалых испытаний достигло нескольких тысяч. Хотя это работает, я чувствую, что должен быть лучший способ обновить таблицу поиска.
Может кто-нибудь подсказать, как мне это улучшить? В настоящее время я использую хранимые процедуры, но я не лучший в очень сложных операторах.
[ParkID | ParkName | Latitude | Longitude ]
1 | Freemont | -116.34 | 35.32
2 | Jackson | -116.78 | 34.2
[ActivityID | ActivityName | Description ]
1 | Picnic | Blah
2 | Dancing | Blah
3 | Water Polo | Blah
[ID | ParkID | ActivityID ]
1 | 1 | 2
2 | 2 | 1
3 | 2 | 2
4 | 2 | 3
Я бы предпочел узнать, как сделать это более универсальным способом, а не использовать Linq-To-SQL или ADO.NET.