Ich erstelle einen DB mit EntityFramework und SQLCompact. Ich versuche, eine neue DB-Datei mit einem Pfad zu erstellen, der manchmal länger als 128 Zeichen ist. In diesem Fall erhalte ich eine Ausnahme.DbContext String Konstruktor länger als 128 Zeichen
Die Länge des Werts für den Schlüssel 'initial catalog' überschreitet das Limit von '128'.
Gibt es trotzdem dieses Verhalten zu ändern und eine Verbindungszeichenfolge länger als das verwenden?
public class DbTestingContext: DbContext
{
public DbTestingContext() : base(GetConnectionString())
{
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<DbTestingContext>());
}
public virtual DbSet<TestingModel> Tests { get; set; }
private static string GetConnectionString()
{
return Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + "/db/",
"TestingPrototypes.DbTests.DbTestsContext.sdf");
}
}
Ich glaube nicht 'GetConnectionString' tut, was Sie denken, es tut, dass die ** Pfad zurückkehren ** zu Ihrer '.sdf' Datei, keine gültige Verbindungszeichenfolge – Liam
ist nicht der' connectionString', der von 'Dbcontext' benötigt wird, nur ein' name' in der webConfig, der verwendet wird, um seinen 'connectionString' Wert zu holen? Sie können den Schlüssel nennen, was auch immer wollen, aber das 'connectionString' Attribut ist, wo Sie alle DB verwandten Sachen setzen. –
@Liam Wenn ich base (GetConnectionString()) aufrufe, wird angenommen, dass die DB-Datei im String-Pfad erstellt wird existiert nicht, aber manchmal ist dieser Pfad länger als 128 Zeichen und ich bekomme eine Ausnahme – acostela