Я изменил строку подключения, чтобы указать на базу данных на удаленном сервере. Но когда я выполняю проект, программа по-прежнему указывает на локальный db.не удалось получить доступ к удаленной базе данных в C#
<entityFramework>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
<connectionStrings>
<add name="TEDALS_Ver01.DAL.TedalsContext"
connectionString="Data Source=FE0VMC0643\SQLEXPRESS;
AttachDbFilename=|DataDirectory|\TeDaLSdev.mdf;
Integrated Security=False"
providerName="System.Data.SqlClient"
/>
<!--<add
name="TEDALS_Ver01.DAL.TedalsContext"
connectionString="Server=FE0VMC0643; Database=TeDaLSdev; "
providerName="System.Data.SqlClient" />-->
<!--<add name="TEDALS_Ver01.DAL.TedalsContext"
providerName="System.Data.SqlClient"
connectionString="Server=FE0VMC0643;Data Source=FE0VMC0643;
Initial Catalog=TeDaLSdev;
Integrated Security=True;
Connect Timeout=15;
Encrypt=False;
TrustServerCertificate=False;" />-->
</connectionStrings>
Комментарии - это разные строки подключения, которые у меня есть до сих пор. У меня никогда не было строки соединений, когда я использовал LocalDB.
Конструктор для подключения
public class TedalsContext : DbContext
{
public TedalsContext()
: base("TedalsContext")
{
//Database.SetInitializer<TedalsContext>(null);
}
}
я использую SQL Server Express в моей базе данных. Я также попытался изменить имя параметра для base
в качестве имени базы данных. Но это ничего не изменило.
Я уже пробовал, если у меня есть доступ к базе данных через SSMS. Я могу создавать таблицы, но я не могу переименовать базу данных как таковую (у меня нет прав доступа для переименования базы данных TeDalSdev).
Есть ли какая-нибудь другая работа вокруг, которую я мог бы попробовать? Должно ли имя удаленной базы данных и локальной базы данных быть одинаковым, чтобы избежать изменения большого количества кода?
UPDATE
Контроллер
public class LsystemFamiliesController : Controller
{
private TedalsContext db = new TedalsContext();
//Code goes here
}
база вызовов с базой ("TEDALS_Ver01.DAL.TedalsContext")? В документации [здесь] (https://msdn.microsoft.com/en-us/data/jj556606.aspx#Connection) говорится, что EF будет получать строку подключения по-разному для кода, а также для созданного конструктора. –
Но независимо , имя, которое вы передаете конструктору DBContext, который должен быть именем строки подключения. Вы передаете только TedalsContext, который, как кажется, не существует в вашем файле конфигурации. –
См. [На этой странице] (https://msdn.microsoft.com/en-us/data/jj592674) тоже –