Для других я узнал, как это сделать.
В моем статическом DataClass я создал следующую подпрограмму для генерации для меня строки Entity Connection :
static string BuildEntityConnString(string dbFileName, string resourceData, string password) {
string resAll = @"res://*/";
string dataSource = @"Data Source=|DataDirectory|\" + dbFileName;
EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder();
entityBuilder.Metadata = string.Format("{0}{1}.csdl|{0}{1}.ssdl|{0}{1}.msl", resAll, resourceData);
entityBuilder.Provider = "System.Data.SqlServerCe.3.5";
if (String.IsNullOrEmpty(password)) {
entityBuilder.ProviderConnectionString = dataSource;
} else {
entityBuilder.ProviderConnectionString = dataSource + ";Password=" + password;
}
using (EntityConnection con = new EntityConnection()) {
try {
con.ConnectionString = entityBuilder.ToString();
con.Open();
Console.WriteLine("{0} Entity String created.", dbFileName);
con.Close();
return con.ConnectionString;
} catch (Exception err) {
Console.WriteLine(err);
}
}
return null;
}
Обратите внимание, что если есть какая-либо ошибка, возвращается пустая строка.
Если кто-то хочет использовать это, он должен либо установить точку останова в исключении, бросить его,или справиться с этим каким-либо образом.Console.WriteLine()
был только для меня, чтобы отладить через это.
Я создал Строки подключения сущностей для своих приложений следующим образом:
public static readonly string EntityConnString =
BuildEntityConnString("sqlCeDb.sdf", "myModel", "abc123~Funky");
Надеюсь, что другие получат некоторый пробегиз этого.