Мне кажется странным, что в Visual C# 2008 Express edition, когда вы используете проводник базы данных, ваши варианты:
НО, если вы используете Visual Web Developer 2008 Express, вы можете подключиться к обычному SQL Server, Oracle, ODBC и т. д.
Для людей, разрабатывающих командную строку или другие приложения C#, которым необходимо взаимодействовать с базой данных SQL Server, действительно ли вам нужно создавать код LINQ / Data Access с одной IDE (Visual Web Developer), а вашу программу - с другой (Visual C#)?
Это не сложный обходной путь, но кажется странным. Если Microsoft хотела заставить вас перейти на Visual Studio для подключения к SQL Server, зачем им включать эту функцию в одну из своих бесплатных IDE, а не в другую? Мне кажется, что я чего-то упускаю (например, как все это сделать в Visual C#).
Как это закрыто как «неконструктивное»? У него множество положительных отзывов и просмотров, и многие люди, кажется, находят его полезным. В настоящее время SO слишком легко закрывает вопросы.





Я предполагаю, что с VWD ваши решения с большей вероятностью будут развернуты на сторонних серверах, многие из которых не позволяют динамически прикреплять файл базы данных SQL Server. Таким образом разрешается другой тип подключения.
Это различие в поведении IDE - одна из основных причин обновления до полной версии.
У вас должна быть возможность выбрать параметр файла базы данных SQL Server, чтобы получить правильный тип базы данных (поставщик system.data.SqlClient), а затем вручную исправить строку подключения, чтобы она указывала на вашу базу данных.
Я думаю, что причина этого выбора db, вероятно, выглядит примерно так:
Однако эта логика не совсем верна. Даже если каждый из этих 4 пунктов верен в 90% случаев, к тому времени, когда вы примените все четыре из них, он будет применяться только к ~ 65% вашей аудитории, что означает, что до 35% рынка экспресс-доставки могут законно захотеть поговорить. к БД серверного класса, и это значительная группа. Итак, упрощенная (жадная) версия:
К сожалению, сейчас, когда мы находимся на VS2010, не существует "стандартной" версии ... самый низкий уровень - Pro, который стоит более 1000 долларов. Боль, когда я просто пытаюсь создать прототип для базы данных сервера.
В качестве обходного пути вы создаете временный файл базы данных только для того, чтобы пропустить диалог? Как вы "вручную исправляете" строку подключения? Разве он не хранится в разных местах (app.config, файл dbml и т. д.)? Также, если вы это сделаете, это позволит вам использовать конструктор linq to sql?
Если вы используете это, чтобы получить LINQ to SQL, который я делаю и хотел для своего Visual Developer, 1) получите бесплатный Visual WEB Developer, используйте его для подключения к экземпляру SQL Server, создайте интерфейс LINQ, затем скопируйте сгенерированные файлы в ваш проект Vis-Dev (я не использую VD, потому что это звучит забавно). Включите только файлы * .dbml. Среде Vis-Dev потребуется секунда или две, чтобы распознать вспомогательные файлы. Это немного лишний шаг, но наверняка лучше, чем делать его вручную или отказываться от него вообще или ДАЖЕ ХУЖЕ, платить за него. Муо-ха-ха-ха-ха.
Единственный способ заставить C# Express 2008 работать - это переместить файл базы данных. Итак, я открыл SQL Server Management Studio и, отбросив базу данных, скопировал файл в папку своего проекта. Затем я повторно подключил базу данных к студии управления. Теперь, когда я пытаюсь прикрепить к локальной копии, она работает. Судя по всему, вы не можете использовать один и тот же файл базы данных более одного раза.
Обходной путь:
Теперь у вас есть библиотека классов LINQ to SQL, связанная с вашей базой данных SQL Server в Visual C# Express.
Обновлять
Решение предназначено для Visual Studio Express 2010.
Это работает с линейкой продуктов Visual Studio 2010 Express (Visual C# и Visual Web Developer). Спасибо
Я выдергивала волосы два дня, пытаясь понять это. Спасибо! Я должен тебе выпить по твоему выбору, если мы когда-нибудь встретимся!
Потрясающе - я только что попробовал это для создания модели данных сущности, и это сработало одинаково хорошо. Спасибо за решение этой проблемы!
Я просто случайно запустил свое приложение для домашнего бизнеса в формах Windows для удобства. В настоящее время я использую Visual C# Express 2010 / SQL Server 2008 R2 Express для его разработки. У меня та же проблема, что и у OP, когда мне нужно подключиться к экземпляру SQL-сервера. Я пропускаю подробности здесь, но эта база данных будет объединенной базой данных, синхронизированной между 2-3 компьютерами, которые также будут использовать приложение, которое я разрабатываю прямо сейчас.
Я нашел быстрое обходное решение, по крайней мере, я думаю, что нашел, потому что теперь я могу без проблем использовать свои хранимые процедуры в адаптерах таблиц.
Я скопировал вставленное соединение SQL, которое я использовал в другом проекте на работе (VS2010 Premium) в app.config, и изменил все, что мне было нужно там. Когда я вернулся к своим Settings.settings, мне просто нужно было подтвердить, что мне нужно то, что было внутри файла app.config. Единственные недостатки, которые я вижу, это то, что вы не можете «протестировать» соединение, поскольку, когда вы входите в конфигурацию строки подключения, вы никуда не можете перейти, поскольку «SQL Server» не является вариантом. Другой недостаток заключается в том, что вам нужно вводить все вручную, так как вы не можете использовать никаких мастеров, чтобы это работало.
Не знаю, следовало ли мне так поступать, но, по крайней мере, теперь я могу подключиться к моему SQL-серверу :).
РЕДАКТИРОВАТЬ :
Он работает только с экземплярами SQL Server 2008 R2 Express. Если вы попробуете использовать SQL Server 2008 R2 Workgroup и выше, вы получите неприятное предупреждение от Visual C# 2010 Express о том, что «вы не можете использовать это соединение с текущей версией Visual Studio». Я получил это, когда пытался изменить некоторые из своих адаптеров таблиц. Я снова переключился на экземпляр SQL Express для разработки, и он снова работает нормально.
Это потрясающий вопрос. Вся эта неразбериха с SQL Server очень неприятна, даже от выбора версии для использования до фактической разработки и развертывания. Этот вопрос решает одну из основных проблем на этом пути.