SORU
19 Mayıs 2011, PERŞEMBE


Zaten açık bir veri okuyucu öncelikle kapatılması gereken bu Komut ile ilgili

Bu sorgu var ve bu işlev: hata alıyorum

var accounts =
    from account in context.Accounts
    from guranteer in account.Gurantors

 select new AccountsReport
    {
        CreditRegistryId = account.CreditRegistryId,
        AccountNumber = account.AccountNo,
        DateOpened = account.DateOpened,
    };

 return accounts.AsEnumerable()
                   .Select((account, index) => new AccountsReport()
                           {
                               RecordNumber = FormattedRowNumber(account, index   1),
                               CreditRegistryId = account.CreditRegistryId,
                                  DateLastUpdated = DateLastUpdated(account.CreditRegistryId, account.AccountNumber),
                               AccountNumber = FormattedAccountNumber(account.AccountType, account.AccountNumber)}).OrderBy(c=>c.FormattedRecordNumber).ThenByDescending(c => c.StateChangeDate);


 public DateTime DateLastUpdated(long creditorRegistryId, string accountNo)
        {
            var dateReported = (from h in context.AccountHistory
                                where h.CreditorRegistryId == creditorRegistryId && h.AccountNo == accountNo
                                select h.LastUpdated).Max();
            return dateReported;
        }

Hata:

Zaten açık bir veri okuyucu öncelikle kapatılması gereken bu Komut ile ilişkili vardır.

[DÜZENLE]

ekledi: yığın izleme

InvalidOperationException: There is already an open DataReader associated with this Command which must be closed first.]
   System.Data.SqlClient.SqlInternalConnectionTds.ValidateConnectionForExecute(SqlCommand command)  5008639
   System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute(String method, SqlCommand command)  23
   System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async)  144
   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)  87
   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)  32
   System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)  141
   System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)  12
   System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)  10
   System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)  443

[EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details.]
   System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)  479
   System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute(ObjectContext context, ObjectParameterCollection parameterValues)  683
   System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)  119
   System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()  38
   System.Linq.Enumerable.Single(IEnumerable`1 source)  114
   System.Data.Objects.ELinq.ObjectQueryProvider.<GetElementFunction>b__3(IEnumerable`1 sequence)  4
   System.Data.Objects.ELinq.ObjectQueryProvider.ExecuteSingle(IEnumerable`1 query, Expression queryRoot)  29
   System.Data.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute(Expression expression)  91
   System.Data.Entity.Internal.Linq.DbQueryProvider.Execute(Expression expression)  69
   System.Linq.Queryable.Max(IQueryable`1 source)  216
   CreditRegistry.Repositories.CreditRegistryRepository.DateLastUpdated(Int64 creditorRegistryId, String accountNo) in D:\Freelance Work\SuperExpert\CreditRegistry\CreditRegistry\Repositories\CreditRegistryRepository.cs:1497
   CreditRegistry.Repositories.CreditRegistryRepository.<AccountDetails>b__88(AccountsReport account, Int32 index) in D:\Freelance Work\SuperExpert\CreditRegistry\CreditRegistry\Repositories\CreditRegistryRepository.cs:1250
   System.Linq.<SelectIterator>d__7`2.MoveNext()  198
   System.Linq.Buffer`1..ctor(IEnumerable`1 source)  217
   System.Linq.<GetEnumerator>d__0.MoveNext()  96

CEVAP
19 Mayıs 2011, PERŞEMBE


Bu ise başka bir sorgu sonuçları üzerinden yineleme sırasında bir sorgu çalıştırmak olabilir. Örnek tam değil çünkü bu olur senin örneğinden belli değil.

Bu neden bir şey tembel yükleme bazı sorgu sonuçları üzerinden yineleme zaman tetiklenir.

Bu kolayca bağlantı dizesi MARS izin vererek çözülebilir. Bağlantı dizesi (burada, İlk Katalog, vb. Veri Kaynağı sağlayıcı kısmına MultipleActiveResultSets=true Ekle belirtilmedi).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Fuse

    Fuse

    21 Kasım 2005
  • Marissah Simonini

    Marissah Sim

    25 HAZİRAN 2013
  • Megan Parken

    Megan Parken

    19 Temmuz 2009