Кажется, что нет никаких средств для удаления схемы из отображенных хранимых процедур LINQ-to-SQL с помощью конструктора. Все процессы сопоставлены, включая их имя схемы, что (чтобы быть справедливым), вероятно, хорошо для большинства приложений. И, как и в большинстве случаев LINQ-to-SQL, измените базу данных на свой страх и риск. Слишком много изменений в базе данных потребовало обновления и перестройки базы данных LINQ-to-SQL.
Копая глубже, имя схемы сохраняется в файле XML dbml
основы, а затем включается в сгенерированный файл designer.cs
, который содержит вызываемые функции / методы.
// dbml
<Function Name="dbo.MyProc" Method="MyProc">
// designer.cs
[global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.MyProc")]
public int MyProc()
Если вы вручную отредактируете XML-файл dbml
, чтобы удалить схему и сохранить ее в Visual Studio, код будет восстановлен следующим образом:
// changed dbml - removed the dbo schema
<Function Name="MyProc" Method="MyProc">
// the resultant generated code in designer.cs
[global::System.Data.Linq.Mapping.FunctionAttribute()]
public int MyProc()
Который работал для моей учетной записи, входя в систему с использованием dbo в качестве схемы по умолчанию. Я оставлю тестирование на ваше усмотрение.
Это может быть работоспособным решением - визуальный дизайнер все еще работает так же, можно добавлять другие элементы и т. Д., Не нарушая функцию без схемы, и сама функция не вызывает жалобу дизайнера. Желаем удачи!