Аз се занимавам с C # приложение, използвайкиEntityFramework и обект, извлечен от DbContext. Трябва да настроя програмно връзката низ, когато се създаде нов обект на MyDbContext обект. За да го направя, използвам следния код:
public MyDbContext(string myString)
{
this.Database.Connection.ConnectionString = myString
}
myString = "Server=MYSERVER\SQLEXPRESS; Database=MyDB; User ID=user; Password=pass;";
or
myString = "Data Source=|DataDirectory|\AirecCalcDatabase.sdf";
Доставчиците на бази данни са различни за дветеструни. SQLExpress за първия, SQLCompact за втория. Ако се опитам да стартирам този код с първия низ, получавам ArgumentException, идващ от низ за свързване. Например "Ключова дума не е валидна: сървър", но също и "Ключова дума не е валидна: база данни". Връзката низ работи при използване на DbContext без аргументи, което е, четене на низ от app.config
Отговори:
2 за отговор № 1Когато искате да използвате CE, може да се наложи да промените DefaultConnectionFactory да сочи към SQL CE:
Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0");
виждам тази публикация в блога за повече информация