/ / DBcontext, динамично задайте низ за свързване - entity-framework, database-connection, connection-string, dbcontext

DBcontext, динамично задайте низ на свързване - рамка на обект, база данни-връзка, връзка-низ, dbcontext

Аз се занимавам с 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");

виждам тази публикация в блога за повече информация