2016-05-06 4 views
0

im делать тест с использованием базы данных microsoft AdventureWorks2014 с визуальной студией (кодирование на C#). Я пытаюсь ввести StateProvinceID, а затем отображать имена (Person.FirstName), которые связаны с этим StateProvinceID.So далеко я это сделал:Исключение из связанного с провинцией (AdventureWorks2014)

static public void provincequery() 
    { 
     Console.WriteLine("Enter province ID"); 
     var theid = Convert.ToInt32(Console.ReadLine()); 
     using (var context = new Model1()) 
     { 
      var queryprovince = from test in context.StateProvince 
         where test.StateProvinceID == theid 
         select test; 
      foreach(var disp in queryprovince) 
      { 
       Console.WriteLine("\nProvince:"); 
       Console.WriteLine(disp.Name); 
       foreach(var test2 in disp.SalesTerritory.Customer) 
       { 
        Console.WriteLine(test2.Person.FirstName); 
       } 

      } 
     } 


    } 

однако это постоянно возвращается мне ошибку «произошла ошибка при выполнении определения команды См внутреннее исключение для деталей..» внутреннее исключение:

 à System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior) 
    à System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues) 
    à System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass7.<GetResults>b__6() 
    à System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess) 
    à System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass7.<GetResults>b__5() 
    à System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func`1 operation) 
    à System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption) 
    à System.Data.Entity.Core.Objects.ObjectQuery`1.Execute(MergeOption mergeOption) 
    à System.Data.Entity.Core.Objects.DataClasses.EntityReference`1.Load(MergeOption mergeOption) 
    à System.Data.Entity.Core.Objects.DataClasses.RelatedEnd.DeferredLoad() 
    à System.Data.Entity.Core.Objects.Internal.LazyLoadBehavior.LoadProperty[TItem](TItem propertyValue, String relationshipName, String targetRoleName, Boolean mustBeNull, Object wrapperObject) 
    à System.Data.Entity.Core.Objects.Internal.LazyLoadBehavior.<>c__DisplayClass7`2.<GetInterceptorDelegate>b__2(TProxy proxy, TItem item) 
    à System.Data.Entity.DynamicProxies.StateProvince_0A13F786927514ECF26BEB6F7007442E73C1FCAA3A743679986FA051D479F5AA.get_SalesTerritory() 
    à ConsoleApplication1.Program.requete2() dans c:\Users\julianp\Desktop\ConsoleApplication1\ConsoleApplication1\Program.cs:ligne 152 
    à ConsoleApplication1.Program.Main(String[] args) dans c:\Users\julianp\Desktop\ConsoleApplication1\ConsoleApplication1\Program.cs:ligne 33 
    à System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) 
    à System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) 
    à Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 
    à System.Threading.ThreadHelper.ThreadStart_Context(Object state) 
    à System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
    à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
    à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
    à System.Threading.ThreadHelper.ThreadStart() 

Я действительно не понимаю, почему его не working.AdventureWorks схемы можно найти здесь:

https://moidulhassan.files.wordpress.com/2014/07/adventureworks2008_schema.gif

спасибо

+0

Ну ... что внутреннее исключение? –

+0

Где я его вижу? – julian

+0

Я добавил внутреннее исключение (я думаю, что это) в моем вопросе – julian

ответ

0

решаемые; необходимо добавить ToList() в конец foreach (var disp в queryprovince).

Так его Еогеасп (вар Индик.точки в queryprovince.ToList())