У меня есть следующий фрагмент кода:
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))
};
}
Но я всегда получаю следующее исключение:
Уже существует открытый DataReader, связанный с этим подключением, который должен бытьсначала закрыто.
Вот трассировка стека:
[MySqlException (0x80004005): уже существует открытый DataReader, связанный с этим подключением, который должен быть закрыт первым.]
MySql.Data.MySqlClient.MySqlCommand.CheckState () +237 MySql.Data.MySqlClient.MySqlCommand.ExecuteReader (поведение CommandBehavior) + 146
MySql.Data.1015 * System.Data.Common.DbCommand.ExecuteReader (поведение CommandBehavior) + 10
System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands (поведение EntityCommand entityCommand, поведение CommandBehavior) + 443
исключительная ситуация: 1010при выполнении определения команды.Подробности см. Во внутреннем исключении.]
System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands (EntityCommand entityCommand, поведение CommandBehavior) + 479
System.Data.Objects.Internal.ObjectQueryExecutionPlan.ExecutePlayingPlan.ExecuteOppjectPlan.Execute+ 736
System.Data.Objects.ObjectQuery 1.GetResults(Nullable
1 forMergeOption) + 149
System.Data.Objects.ObjectQuery 1.Execute(MergeOption
mergeOption) +31<br>
System.Data.Objects.DataClasses.EntityReference
1.Load (MergeOption mergeOption) + 148
System.Data.Objects.DataClasses.RelatedEnd.Load () +37 System.Data.Objects.DataClasses.RelatedEnd.DeferredLoad () +8032198 System.Data.Objects.DataClasses.EntityReference 1.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 источник, Func 2 keySelector, Func
2 elementSelector, IEqualityComparer 1
comparer) +226<br>
System.Linq.Enumerable.ToDictionary(IEnumerable
1 источник, Func 2 keySelector, Func
2 elementSelector) + 54
Nebula.Models.Trends.TrendRepository.b__a (TrendRecord m) в C: \ Users \ Бруно Леонардо \ Documents \ visual studio 2010 \ Проекты \ Туманность \ Туманность \Models \ Trends \ TrendRepository.cs: 227 System.Linq.Enumerable.ToDictionary (IEnumerable 1
source, Func
2 keySelector, Func 2
elementSelector, IEqualityComparer
1 сравнение) + 240
System.Linq.Enumerable.ToDictionary (IEnumerable 1
source, Func
2 keySelector, Func 2
elementSelector) +53<br>
Nebula.Models.Trends.TrendRepository.GetTimestampedRowStorage(String
startTime, String endTime, Int64
trendSettingID, Nullable
1 период) в C: \ Users \ Бруно Леонардо \ Documents \ visual studio 2010 \ Проекты \ Туманность \Туманность \ Models \ Trends \ TrendRepository.cs: 2241 allTrends) в C: \ Users \ Bruno Leonardo \ Documents \ visual studio 2010 \ Проекты \ Туманность \ Nebula \ Models \ Trends \ TrendRepository.cs: 206 Nebula.Controllers.GeneratingUnitController.TrendSettings (идентификатор Int64, идентификатор объекта Int64, идентификатор объекта Int64 ,6464 trendSettingID,String startTime, String endTime, Nullable 1 page,
Nullable
1 recordsPerPage, GridSortOptions options, Nullable 1
period, Int64[] trends, Nullable
1 allTrends) в C: \ Users \ Bruno Leonardo \ Documents \ visual studio 2010 \ Проекты \ Туманность \ Туманность \ Контроллеры \ GeneratingUnitController.cs:148 lambda_method (Closure, ControllerBase, Object []) + 543
Можете ли вы, ребята, помочь мне?