Может ли Linq to SQL сосуществовать с ADO в SQL Server Express? - PullRequest
0 голосов
/ 12 июня 2009

У меня есть однопользовательское приложение Win Forms, которое использует базу данных SQL Server Express через ADO.NET. Я хочу добавить больше в свое приложение, но с помощью Linq to Sql (пока я изучаю Linq to Sql). Я не могу увидеть базу данных в двух местах одновременно. Либо я вижу его в исходном коде с использованием ADO, либо я вижу его с новым кодом с использованием Linq to SQL. Использование данных одним методом приводит к тому, что другой отказывается их видеть. Ранее я включил новый код Linq to SQL, чтобы увидеть его, скопировав каталог, содержащий базу данных, вместе с базой данных, в другое имя каталога и получив его с помощью L2S, прежде чем получить его с помощью ADO. Это позволило мне увидеть, что мой код Linq to SQL работает (ура!). Однако теперь я не могу использовать эту новую базу данных с исходным кодом в ADO, потому что «Доступ запрещен (5)». Что я делаю неправильно? Как я могу сделать это поделиться?

РЕДАКТИРОВАТЬ: Удалена часть вопроса о подключении в SQL Server; Эта проблема заключается в том, что мне нужно запустить SQL Server в качестве администратора (Vista), и теперь он подключается. / EDIT

Теперь, когда я использую L2S, при попытке открыть соединение в ADO.NET появляется сообщение «Невозможно открыть физический файл« C: \ PRICINGtests \ PRICING.MDF ». Ошибка операционной системы 5:» 5 ( Доступ запрещен.) ". Попытка присоединить базу данных с автоматическим именем для файла C: \ PRICINGtests \ PRICING.MDF не удалась. База данных с тем же именем существует, или указанный файл не может быть открыт, или он находится на общем ресурсе UNC . "

1 Ответ

0 голосов
/ 12 июня 2009

У вас есть две отдельные строки подключения здесь? Я предполагаю, что у вас есть, и они оба пытаются подключить mdf с тем же именем базы данных на вашем сервере sql, что не разрешено.

Используете ли вы в коде ADO и Linq одну и ту же строку соединения, и они оба будут использовать одну и ту же базу данных.

...