У меня есть первое веб-приложение с кодом EF, которое работает нормально и правильно подключается к серверу базы данных. Я добавил в решение консольное приложение, чтобы проверить логику службы, которая будет работать вместе с приложением.
У меня была головная боль, почему консольное приложение не сохраняло данные, поэтому я сократил это до простой выборки из базы данных, и оказалось, что исходное консольное приложение сохраняло запись, но в другую базу данных, чем то, что указано в строке подключения.
Вот строка подключения из app.config:
<add name="DatabaseContext" connectionString="Data Source=xxx.xx.x.xx; Initial Catalog=OKWU_Gateway; User ID=xxxxx; Password=********; Trusted_Connection=False;" providerName="System.Data.SqlClient" />
<add name="DevelopmentEntities" connectionString="metadata=res://*/EntityModel.csdl|res://*/EntityModel.ssdl|res://*/EntityModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=;Data Source=|DataDirectory|\OKWU_Gateway.mdf" providerName="System.Data.EntityClient" />
DatabaseContext —
Консольное приложение очень простое
Database.SetInitializer<DatabaseContext>(null);
static void Main(string[] args)
{
using (DatabaseContext db = new DatabaseContext())
{
var query = from u in db.Users where u.Id == 1 select u;
foreach (User u in query)
{
Console.WriteLine(u.Id + " " + u.FirstName + " " + u.LastName);
}
Console.ReadLine();
}
}
но вместо подключения к БД на удаленном сервере оно подключается к sqlexpress на dev и попасть в эту базу данных.
UniversityGateway.Data.DatabaseContext
Я попытался изменить строку подключения, чтобы указать |DataDirectory| к строке подключения SQL, и это не имело никакого значения. Строки подключения такие же, как и в web.config, и, как я уже сказал, веб-приложение работает нормально.
Любые идеи о том, что мне не хватает, или указать мне правильное направление, чтобы решить эту проблему?