LINQ DBML не позволяет мне вставлять, обновлять, удалять или выбирать данные из каких-либо таблиц? Зачем? - PullRequest
1 голос
/ 06 декабря 2008

Я создал файл DBML для отображения LINQ to SQL и после перетаскивания всех моих таблиц на поверхность конструктора. В свойствах каждой таблицы «Удалить», «Вставить» и «Обновить» неактивны, поэтому они недоступны для редактирования, поскольку они отключены. Я не уверен, почему это так. Кто-нибудь знает, как сделать так, чтобы я мог вставлять, обновлять и удалять значения внутри этих таблиц?

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

Ответы [ 3 ]

4 голосов
/ 06 декабря 2008

Есть ли у ваших таблиц первичные ключи? LINQ to SQL не позволит вам изменить данные, если у них нет ключа для использования. Я много сталкивался с устаревшими системами. Большую часть времени таблица использует ключ defacto, но она не установлена ​​в базе данных. В этих случаях вы можете просто пометить поле как основное (в базе данных), и оно должно работать. В противном случае вам, возможно, придется добавить столбец первичного ключа, чтобы дать LINQ что-то, что можно использовать для уникальной идентификации каждой строки.

0 голосов
/ 19 августа 2009

Без изменения базы данных вы также можете решить эту проблему. Установите первичный ключ в файле DBML, и он будет работать нормально. LINQ просто нужно знать ключ defacto. Вы также можете установить несколько столбцов в качестве ключей.

LINQ отлично!

0 голосов
/ 06 декабря 2008

Если щелкнуть правой кнопкой мыши таблицу в конструкторе и выбрать свойства, «Удалить», «Вставить» и «Обновить» будут выделены серым цветом. Я не уверен, что вы можете предоставить альтернативные методы удаления, вставки и обновления ...

Но если ваш вопрос касается вставки, обновления и удаления значений в ваших таблицах, после того, как вы перетащите таблицу в конструктор dbml, вы сможете вставлять, обновлять и удалять, используя linq в своем коде. Больше ничего не нужно делать с базой данных.

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