Laden...

Profil von Hurby

myCSharp.de - Member Mitglied seit
H
Hurby
myCSharp.de - Member
30
Themen
222
Beiträge
Dabei seit
10.02.2010
Letzte Aktivität
vor 7 Jahren
Beruf
Softwareentwickler & Programmierer
Erstellt vor 7 Jahren

So... Die Exception hat keine InnerException. Der Vollständigkeit halber hier mal die Details der Ausnahme:

Fehlermeldung:
message: Unable to update database to match the current model because there are pending changes and automatic migration is disabled. Either write the pending model changes to a code-based migration or enable automatic migration. Set DbMigrationsConfiguration.AutomaticMigrationsEnabled to true to enable automatic migration.

stacktrace: bei System.Data.Entity.Migrations.DbMigrator.Upgrade(IEnumerable1 pendingMigrations, String targetMigrationId, String lastMigrationId) bei System.Data.Entity.Migrations.DbMigrator.UpdateInternal(String targetMigration) bei System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists(Action mustSucceedToKeepDatabase) bei System.Data.Entity.Migrations.DbMigrator.Update(String targetMigration) bei System.Data.Entity.MigrateDatabaseToLatestVersion2.InitializeDatabase(TContext context)
bei System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action)
bei System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization()
bei System.Data.Entity.Internal.RetryAction1.PerformAction(TInput input) bei System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action1 action)
bei System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
bei System.Data.Entity.Internal.Linq.InternalSet1.Initialize() bei System.Data.Entity.Internal.Linq.InternalSet1.get_InternalContext()
bei System.Data.Entity.Infrastructure.DbQuery1.System.Linq.IQueryable.get_Provider() bei System.Linq.Queryable.Where[TSource](IQueryable1 source, Expression`1 predicate)

source: EntityFramework

Mittlerweile habe ich keine Idee mehr, wo ich noch ansetzen könnte.

Erstellt vor 7 Jahren

Hallo Abt,

das Schema ist bei allen identisch. Alle greifen auf dieselbe Datenbank zu. Die Datenbank-Anmeldung ist an eine Active-Directory-Gruppe gekoppelt, in der die entsprechenden Benutzer Mitglied sind. Gegenwärtig verfüge ich nur über den entsprechenden Eintrag des Windows-Ereignisprotokolls. Ich werde mich mal um die InnerException bemühen...

Erstellt vor 7 Jahren

Hallo,

in meiner Anwendung (basierend auf EF6 und NET4.5) verwende ich als Strategie Code-First mit Code-based Migration und MigrateDatabaseToLatestVersion als Initialisierer. Einer meiner Kunden berichtete mir nun kürzlich nach dem Einspielen eines Updates, dass beim Start eine AutomaticMigrationsDisabledException geworfen wird. Merkwürdigerweise aber nur auf 2 Arbeitsstationen. Andere Anwender haben dieses Problem nicht.

Um dem Ganzen auf die Schliche zu kommen, habe ich AutomaticMigrations aktiviert um EF ausführen zu lassen, was auch immer es ausführen möchte. Nachdem dies geschehen ist, habe ich den entsprechenden Eintrag aus der Tabelle "__MigrationHistory" genommen und aus der model-Spalte ein Entity Data Model (EDMX) generiert. Darin habe ich gesehen, dass das Entity Framework aus einer 1:1 - Beziehung (EDMX : Multiplicity="1") eine optionale Beziehung (EDMX : Multiplicity="0..1") machen will. Die Property meiner Klasse, auf welcher diese Beziehung beruht ist eine einfache GUID (nicht nullbar). Somit ergibt eine optionale Beziehung wie sie erstellt werden soll keinen sinn. Das merkwürdigste ist aber, dass das Problem lediglich auf 2 Arbeitsplätzen auftritt. Glücklicherweise sind dies die Arbeitsplätze der beiden Administratoren und werden somit auch nur zu administrativen zwecken genutzt. Dennoch muss das Problem gelöst werden. Hat jemand bereits ein ähnliches Problem gehabt oder eine Idee wo ich noch ansetzen könnte?

MfG Hurby

Erstellt vor 9 Jahren

Erstmal Danke für eure schnellen und konstruktiven Antworten. Dass mir eine entsprechend große Abfrage nicht in die Tüte kommt war vielleicht etwas vorschnell. Wenn es tatsächlich keine anderen Lösungen gibt, welche sich mit überschaubarem Aufwand umsetzen lassen, werde ich diesen Lösungsansatz doch näher in Betracht ziehen. Zumal, wie ihr schon festgehalten habt, die Cleverness des SQL-Servers dort voll zur Geltung kommt.

Ich lasse den Thread mal noch offen. Vielleicht kommt ja doch noch Jemand mit einer völlig anderen Lösung um die Ecke.

Euch 3 wünsche ich auf jeden Fall erstmal ein schönes Wochenende

Erstellt vor 9 Jahren

Hallo,

ich muss in einer Anwendung eine Recherche-Funktion programmieren. Diese sieht bis jetzt so aus, dass der Benutzer aus einer Liste von verfügbaren Datenfeldern mehrere auswählen kann. Zu jedem ausgewählten Datenfeld wird eine Vergleichsmethode und ein Vergleichswert angegeben.
Am Ende kommt also eine Liste von Konditionen heraus, welche durch jeden Datensatz zu erfüllen sind. Nun stehe ich vor dem Problem, diese Konditionen entsprechend zu prüfen. Aus allen Konditionen eine riesige (und dreckige) Abfrage zu basteln kommt mir nicht in die Tüte. Alle Datensätze einzulesen und dann im Programm auszuwerten halte ich aufgrund der Datenmenge auch eher für suboptimal. Ich bräuchte viel mehr eine Möglichkeit, die Konditionen in Abfragen umzuwandeln und nacheinander auszuführen. Wobei die erste den Inhalt der kompletten Tabelle auswertet und jede weitere nur das Ergebnis der vorherigen Abfrage verwenden sollte.

Ich weiß, dass es im SQL-Server sogenannte "Common Table Expressions" gibt, welche eine rekursive Abfrage erlauben. Allerdings müsste diese bei jedem Durchlauf die nächste Kondition verarbeiten. Leider weiß ich nicht, wie ich dieses Problem bewerkstelligen soll.

Hat Jemand eine zündende Idee (gerne auch in Kombination mit gespeicherten Prozeduren)? Oder vielleicht einen völlig anderen Ansatz?

Erstellt vor 10 Jahren

Verstehe.

Dann bedanke ich mich trotzdem nochmal bei dir und den anderen beiden und schließe damit den Thread...

Erstellt vor 10 Jahren

Wenn nun die Verlagerung der UI in die DLL unumgänglich ist, sind dann die 3 von mir genannten Schritte so korrekt? Falls nein, wie müsste der Ablauf in etwa aussehen?

Erstellt vor 10 Jahren

So ist es, allerdings ruft die Cobol-Runtime die DLL nicht direkt auf, sondern bedient sich dazu einer C++/CLI-DLL, welche die C#-DLL wrappt. Aus (vorrangig) ästhetischen Gründen soll die Oberfläche auf WPF basieren.

Die C#-DLL ist allerdings keine Benutzersteuerelementbibliothek, sondern eine einfache DLL, welche WPF- XAML-Funktionalität besitzt. Demnach sind doch beim Einstieg noch keinerlei WPF-spezifischen Dinge (Nachrichtenschleife und UI-Thread) geladen, oder?

Erstellt vor 10 Jahren

Okay. Da allerdings der Consumer der DLL ein Cobol-Programm hust ist, wird die UI in der DLL landen. Das Problem ist dass ich den initialen Appartement-State nicht kenne. Deswegen muss ich doch zwangsläufig einen neuen Thread nutzen um den State festzulegen, oder?

Erstellt vor 10 Jahren

Du meinst also, dass die DLL lediglich die Validierungsfunktionalität bereitstellt und die UI in die aufrufende Anwendung verlegt werden soll?

10 von 222 Beiträgen