Я работаю над веб-проектом.Я использую базу данных Sql Server 20008 R2 через LINQ To SQL, и сегодня я столкнулся с очень странной проблемой отношений.Я использовал их некоторое время и до сих пор не было никаких проблем.
Допустим, у меня есть таблица Stores
, которая имеет следующие поля: ID
, Name
, LastUserID
гдеLastUserID
является «ссылкой» на таблицу Users
.
Таблица Users имеет следующие поля: ID
, Name
, FavoriteStoreID
, где FavoriteStoreID
- это «ссылка» на таблицу Stores.
Так что я вроде какрекурсивные отношения.
Store.LastUser.Name // shows the name of the last user of the store
User.FavoriteStore.Name // shows the name of user's favorite store.
В конструкторе Visual Studio это выглядит следующим образом:
----------
- -
- Users -
- -
----------
| / \
| |
| |
\ / |
----------
- -
- Stores -
- -
----------
Теперь проблема в том, что при наличии двух стрелок (двух отношений) работает только одна из них,Когда я использую другой, я получаю ошибку Object reference not set to an instance of an object.
.
Когда я заново создаю таблицу, сначала добавьте эту связь (которая вызвала исключение), она работает.Но когда я добавляю еще один, он не работает.
Очевидно, что я что-то напутал, и SQL Server не понимает, как интерпретировать то, что я хочу, чтобы он делал.
Какя могу решить эту проблему?