Wie zu vermeiden, "Es ist bereits ein geöffneter DataReader zugeordnet diesen Zusammenhang, die zuerst geschlossen werden." in MySql/net connector?

Habe ich das folgende Stück code:

public TimestampedRowStorage GetTimestampedRowStorage(string startTime, string endTime, long trendSettingID, int? period)
    {
        var timestampedList = (from t in dataContext.TrendRecords
                                     where t.TrendSetting_ID == trendSettingID
                                     select t).ToList();

        return new TimestampedRowStorage
        {
            TimestampedDictionary = timestampedList.ToDictionary(m => m.Timestamp,
                m => (from j in dataContext.TrendSignalRecords
                      where j.TrendRecord_ID == m.ID
                      select j).ToDictionary(p => p.TrendSignalSetting.Name,
                p => (double?)p.Value))
        };
    }

Aber ich bekomme immer folgende exception:

Es ist bereits ein geöffneter DataReader
im Zusammenhang mit dieser Verbindung, die
muss zuerst geschlossen werden.

Hier ist der stack trace:

[MySqlException (0x80004005): Es ist
bereits ein geöffneter DataReader zugeordnet
mit dieser Verbindung werden muss
zunächst geschlossen.]
MySql.Daten.MySqlClient.MySqlCommand.CheckState()
+237 MySql.Daten.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior
Verhalten) +146
MySql.Daten.Entität.EFMySqlCommand.ExecuteDbDataReader(CommandBehavior
Verhalten) +47
System.Daten.Common.DbCommand.ExecuteReader(CommandBehavior
Verhalten) +10
System.Daten.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand
entityCommand, CommandBehavior
Verhalten) +443

[EntityCommandExecutionException:
Fehler beim ausführen der
command-definition. Finden Sie die innere
Ausnahme für details.]
System.Daten.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand
entityCommand, CommandBehavior
Verhalten) +479
System.Daten.Objekte.Intern.ObjectQueryExecutionPlan.Execute(ObjectContext
Kontext, ObjectParameterCollection
parameterValues) +736
System.Daten.Objekte.ObjectQuery1.GetResults(Nullable1
forMergeOption) +149
System.Daten.Objekte.ObjectQuery1.Execute(MergeOption
mergeOption) +31
System.Data.Objects.DataClasses.EntityReference
1.Belastung(MergeOption
mergeOption) +148
System.Daten.Objekte.DataClasses.RelatedEnd.Load()
+37 System.Daten.Objekte.DataClasses.RelatedEnd.DeferredLoad()
+8032198 System.Daten.Objekte.DataClasses.EntityReference1.get_Value()
+12 Nebula.Models.TrendSignalRecord.get_TrendSignalSetting()
in C:\Users\Bruno
Leonardo\documents\visual studio
2010\Projects\Nebula\Nebula\Models\SmgerDataModel.Designer.cs:2528
Nebula.Models.Trends.TrendRepository.<GetTimestampedRowStorage>b__b(TrendSignalRecord
p) in C:\Users\Bruno
Leonardo\documents\visual studio
2010\Projects\Nebula\Nebula\Models\Trends\TrendRepository.cs:229
System.Linq.Enumerable.ToDictionary(IEnumerable
1
source, Func2 keySelector, Func2
elementSelector, IEqualityComparer1
comparer) +226
System.Linq.Enumerable.ToDictionary(IEnumerable
1
source, Func2 keySelector, Func2
elementSelector) +54
Nebel.Modelle.Trends.TrendRepository.b__a(TrendRecord
m) in C:\Users\Bruno
Leonardo\Dokumente\visual studio
2010\Projects\Nebel\Nebel\Models\Tendenzen\TrendRepository.cs:227
System.Linq -.Enumerable.ToDictionary(IEnumerable1
source, Func
2 keySelector, Func2
elementSelector, IEqualityComparer
1
comparer) +240
System.Linq -.Enumerable.ToDictionary(IEnumerable1
source, Func
2 keySelector, Func2
elementSelector) +53
Nebula.Models.Trends.TrendRepository.GetTimestampedRowStorage(String
startTime, String endTime, Int64
trendSettingID, Nullable
1 Periode) in
C:\Benutzer\Bruno
Leonardo\Dokumente\visual studio
2010\Projects\Nebel\Nebel\Models\Tendenzen\TrendRepository.cs:224
Nebel.Modelle.Trends.TrendRepository.GetTrendSettingContainer(String
Startzeit, String endTime, Int64
unitID, Int64 plantID, Int64
trendSettingID, GridSortOptions
gridSortOptions, Nullable1 page,
Nullable
1 recordsPerPage, Nullable1
period, Int64[] trends, Nullable
1
allTrends) C:\Users\Bruno
Leonardo\Dokumente\visual studio
2010\Projects\Nebel\Nebel\Models\Tendenzen\TrendRepository.cs:206
Nebel.Controller.GeneratingUnitController.TrendSettings(Int64
id, Int64 plantID, Int64
trendSettingID, String startTime,
String endTime, Nullable1 page,
Nullable
1 recordsPerPage,
GridSortOptions Optionen, Nullable1
period, Int64[] trends, Nullable
1
allTrends) C:\Users\Bruno
Leonardo\Dokumente\visual studio
2010\Projects\Nebel\Nebel\Controller\GeneratingUnitController.cs:148
lambda_method(Schließung , ControllerBase
Object[] ) +543

Könnt Ihr mir helfen?

InformationsquelleAutor Bruno Machado - vargero | 2011-06-07

Schreibe einen Kommentar