Hi Dmitri,
I'm just using the default memory database configured for the sample in app.config:
<domain name="Default" upgradeMode="Recreate" connectionUrl="memory://localhost/DO40- Tests" >
<types>
<add assembly="Project1" />
</types>
</domain>
Not sure how to inspect the Memory database.
Here is the output in the Immediate Window when stepping into this line:
Step into: Stepping over non-user code 'Xtensive.Orm.Session.Query.get'
Step into: Stepping over non-user code 'Project1.Model.MyEntity.~Xtensive.Aspects.FactoryMethod'
Step into: Stepping over non-user code 'Project1.Model.MyEntity.MyEntity'
Step into: Stepping over non-user code 'Project1.Model.MyEntity.~Xtensive.Aspects.FactoryMethod'
Step into: Stepping over non-user code 'Xtensive.Orm.Internals.Activator.CreateEntity'
Step into: Stepping over non-user code 'Xtensive.Orm.EntityState.Entity.get'
Step into: Stepping over non-user code 'Xtensive.Orm.Linq.Materialization.ItemMaterializationContext.Materialize'
Step into: Stepping over non-user code 'Xtensive.Core.DelegateBindExtensions.Bind<object[],xtensive.tuples.tuple,xtensive.orm.linq.materialization.itemmaterializationcontext,project1.model.myentity>.AnonymousMethod9'
Step into: Stepping over non-user code 'Xtensive.Orm.Linq.Materialization.MaterializationHelper.Materialize<project1.model.myentity>.AnonymousMethod3'
Step into: Stepping over non-user code 'System.Linq.Enumerable.WhereSelectEnumerableIterator<xtensive.tuples.tuple,project1.model.myentity>.MoveNext'
Step into: Stepping over non-user code 'Xtensive.Core.EnumerableExtensions.Batch<project1.model.myentity>.MoveNext'
Step into: Stepping over non-user code 'Xtensive.Core.EnumerableExtensions.ApplyBeforeAndAfter<project1.model.myentity>.MoveNext'
Step into: Stepping over non-user code 'System.Linq.Enumerable.SelectManyIterator<system.collections.generic.ienumerable<project1.model.myentity>,Project1.Model.MyEntity>.MoveNext'
Step into: Stepping over non-user code 'System.Linq.Enumerable.First<project1.model.myentity>'
Step into: Stepping over non-user code 'Xtensive.Core.DelegateBindExtensions.Bind<object[],system.collections.generic.ienumerable<xtensive.tuples.tuple>,Xtensive.Orm.Session,System.Collections.Generic.Dictionary<xtensive.parameters.parameter<xtensive.tuplstep into:="" stepping="" over="" non-user="" code="" 'xtensive.orm.linq.translatedquery<project1.model.myentity="">.Execute'
Step into: Stepping over non-user code 'Xtensive.Orm.Linq.QueryProvider.Execute<project1.model.myentity>'
Since the program displays "Hello World!" correctly in the console after querying this memory database, and myEntity has a "Synchronized" persistence state, it appears that indeed an Entity was created and persisted. Also even though the debugger single steps into the "Throw New InvalidOperationException" line, control flow is not interrupted. Rather it merely steps back out and continues to the For Each enumeration, which correctly outputs the text.
So I'm guessing now that something is interferring with the normal function of the debugger and that an exception is not actually thrown.
Mark
answered
Aug 14 '11 at 08:32
Mark Century
20●1●1●2
Hello Mark,
Could you please check whether your database contains an instance of MyEntity with 'Text' column equal to "Hello World!"?