﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>CapableObjects Forums / ECO / General discussions </title><generator>InstantForum.NET v4.1.4</generator><description>CapableObjects Forums</description><link>http://www.capableobjects.com/apps/InstantForum414/</link><webMaster>forums@capableobjects.com</webMaster><lastBuildDate>Sat, 04 Feb 2012 15:23:12 GMT</lastBuildDate><ttl>20</ttl><item><title>ORACLE ADO NET Client Replacement</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic4859-4-1.aspx</link><description>In a significant move for those who develop .NET applications targeting Oracle databases, Microsoft is removing the Oracle data provider from its ADO.NET roadmap&lt;br&gt;So what will be the solution to access oracle from ECO?&lt;br&gt; ODP.NET, or support for third party components?&lt;br&gt;see this post:&lt;br&gt;http://www.adtmag.com/Articles/2009/06/16/Microsoft-Kills-Oracle-Data-Provider-for-ADONET.aspx</description><pubDate>Thu, 11 Feb 2010 14:04:43 GMT</pubDate><dc:creator>ebiexperts</dc:creator></item><item><title>derrived property troubles</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6853-4-1.aspx</link><description>I have raised this subject before, I need a way to raise my own INotifyPropertyChanged events for derrived properties implemented in code. These properties can access non-eco resources that change on their own schedule, and when they do, I need to tell my Eco core to tell everyone that my calculated property is different.&lt;br&gt;&lt;br&gt;On a different subject, can I "subscribe" to anything to get notified when an object goes from new to not-new after a successful save? Like, say I want an external id for it after the save succeeds. I need to know when that state transition has happened.</description><pubDate>Thu, 26 Jan 2012 21:53:41 GMT</pubDate><dc:creator>RickWeyrauch</dc:creator></item><item><title>Best practice to stop the Async Eco thread</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6850-4-1.aspx</link><description>Hi all,&lt;br&gt;&lt;br&gt;I'm trying to use IAsyncSupportService in my WinForms application. Surprisingly I found out that the async thread stays alive when I close the main form (and thus stop the main thread).&lt;br&gt;&lt;br&gt;So the question is - [b]what is the best/recommended way to stop the async thread (managed by Eco Async support service) in winforms applications (primarily on exit)?[/b]&lt;br&gt;&lt;br&gt;To abort async thread in MainForm.Close event is unacceptable as the async thread might be saving objects into DB for some time period after user closes the main form (it's not desirable to interrupt this save process).&lt;br&gt;&lt;br&gt;Thanks in advance,</description><pubDate>Wed, 25 Jan 2012 00:36:35 GMT</pubDate><dc:creator>OZh</dc:creator></item><item><title>Eco Async tasks processing order</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6905-4-1.aspx</link><description>Just came across an arguable point about Eco AsyncSupportService:&lt;br&gt;&lt;br&gt;Consider end-user traversing between views of an Eco application. Each view implies certain amount of objects to be fecthed from database. With the usage of Eco AsyncSupportService UI becomes responsive, indeed. BUT all fetch requests are queued (for processing in separate thread). One by one (!) As a result when user opens view "A" then goes to view "B" and finally opens view "C" to see all "C" instances he has to wait until "A" and "B" objects are fetched (in queue order) and only then "C" objects are fetched and shown.&lt;br&gt;&lt;br&gt;In that regard queue (FIFO) order of processing async tasks seems wrong. It'd be better to have stack (LIFO) order in this case - since last requested objects are most wanted and should be fetched first (in described scenario)&lt;br&gt;&lt;br&gt;Did anyone face similar problem? I think that async service should have a switchable option like "AddTasksToQueueHead:bool" (false by default).&lt;br&gt;&lt;br&gt;Best Regards,</description><pubDate>Thu, 02 Feb 2012 07:39:55 GMT</pubDate><dc:creator>OZh</dc:creator></item><item><title>Validation validation error: Link Table contains multiple features</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6761-4-1.aspx</link><description>Error:&lt;br&gt;&lt;br&gt;Class LinkFlagsToObjects contains multiple features named Flags&lt;br&gt;&lt;br&gt;I have a Base class that everything inherits from.&lt;br&gt;The Base class has an association to the Flag class&lt;br&gt;The multiplicity is 0..* both ways, so any object can have multiple Flags, and those Flags can belong to multiple objects.&lt;br&gt;&lt;br&gt;This worked fine in ECO5, but now I get errors in ECO6.&lt;br&gt;&lt;br&gt;How do I fix this?&lt;br&gt;&lt;br&gt;Thanks</description><pubDate>Wed, 30 Nov 2011 15:49:25 GMT</pubDate><dc:creator>ryan_denn</dc:creator></item><item><title>Null ref when using the persistance service refresh or save in silverlight project</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6901-4-1.aspx</link><description>Hello,&lt;br&gt;I have reinstalled Windows 7, VS 2010 and ECO, and after that a silverlight project that was working properly before started to give a Null ref exception when trying to refresh or save. Below are the call stack for both cases:&lt;br&gt;&lt;br&gt;Null ref on refresh:&lt;br&gt;AsyncService.PerformTaskAsync(() =&gt;&lt;br&gt;            {&lt;br&gt;                EcoServiceHelper.GetPersistenceService(IDataControl.SlEcoSpace).Refresh(true);&lt;br&gt;            });&lt;br&gt;&lt;br&gt;   at Eco.Framework.DefaultImpl.PersistenceHandlerImpl.RetrieveChanges(DBChangeCollection&amp; ignoredChanges)&lt;br&gt;   at Eco.Services.Impl.PersistenceServiceImpl.&lt;RetrieveChanges&gt;b__3()&lt;br&gt;   at Eco.Services.Impl.AsyncSupportServiceImpl.PerformTaskNowIfInAsyncThread(Action task)&lt;br&gt;   at Eco.Services.Impl.PersistenceServiceImpl.RetrieveChanges()&lt;br&gt;   at Eco.Services.Impl.PersistenceServiceImpl.&lt;&gt;c__DisplayClass1.&lt;Eco.Services.IPersistenceService.Refresh&gt;b__0()&lt;br&gt;   at Eco.Services.Impl.AsyncSupportServiceImpl.PerformTaskNowIfInAsyncThread(Action task)&lt;br&gt;&lt;br&gt;&lt;br&gt;Null ref on save:&lt;br&gt;if ((Persistence != null) &amp;&amp; (DirtyList != null))&lt;br&gt;            {&lt;br&gt;                Persistence.UpdateDatabaseWithList(DirtyList.AllDirtyObjects());&lt;br&gt;            }&lt;br&gt;&lt;br&gt; at Eco.Framework.DefaultImpl.UpdateResultHandler.HandleUpdateResult(ICollection`1 locatorsToUpdate, IdTranslationList translationList, UpdateResult updResult)&lt;br&gt;   at Eco.Framework.DefaultImpl.PersistenceHandlerImpl.&lt;&gt;c__DisplayClass1.&lt;UpdateDatabaseWithList&gt;b__0()&lt;br&gt;   at Eco.Services.Impl.AsyncSupportServiceImpl.PerformTaskNowIfInAsyncThread(Action task)&lt;br&gt;   at Eco.Framework.DefaultImpl.PersistenceHandlerImpl.UpdateDatabaseWithList(ICollection`1 LocatorsToUpdate)&lt;br&gt;   at Eco.Services.Impl.PersistenceServiceImpl.UpdateDatabaseWithList[T](IEnumerable`1 list)&lt;br&gt;   at SLEcoSpaceAndModel.SLEcoSpace.UpdateDatabase()&lt;br&gt;   at SilverlightApplication.IDataControl.&lt;SaveDataAsync&gt;b__0()&lt;br&gt;   at Eco.Services.Impl.AsyncSupportServiceImpl.MainLoop()</description><pubDate>Wed, 01 Feb 2012 21:29:03 GMT</pubDate><dc:creator>Dima</dc:creator></item><item><title>Transient properties and Dirty'ness</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6718-4-1.aspx</link><description>Should changing a non-persistent property, on an otherwise non-dirty instance, cause the instance to become dirty? That is, does "dirty" mean that a save is required, or does it mean the instance has changed, no matter what kind of change it was?&lt;/P&gt;&lt;P&gt;Given that UpdateDatabase uses the AllDirty collection, it would seem to mean only objects requiring persistence should be in the list. If this sounds right, then transient property changes should not cause the object to become dirty.&lt;/P&gt;&lt;P&gt;Now, the problem is, what does it mean to an Undo Block? I would guess I do want transient properties tracked in Undo Blocks, adn I am assuming that Undo Blocks and Dirty'ness are interwoven into a common handler.&lt;/P&gt;&lt;P&gt;Thoughts?</description><pubDate>Mon, 21 Nov 2011 21:23:13 GMT</pubDate><dc:creator>RickWeyrauch</dc:creator></item><item><title>Version service</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6849-4-1.aspx</link><description>If you use versioning and a lock log table you get a DateTime for each version number.  This value is retrieved from DateTime.Now rather than DateTime.UtcNow.  This could be a problem when the time changes for daylight savings.&lt;br&gt;&lt;br&gt;I've talked to Hans about changing the code to use UtcNow instead so that it remains constant, this would mean that when upgrading a versioned app that is live you'd have to update the date times in the table (if you use them.)&lt;br&gt;&lt;br&gt;I just wanted to post this to see if anyone had any opinions.</description><pubDate>Tue, 24 Jan 2012 15:29:13 GMT</pubDate><dc:creator>PeterMorris</dc:creator></item><item><title>Eco, Mono and Linux</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6845-4-1.aspx</link><description>Hi all,&lt;br&gt;&lt;br&gt;I want to know &lt;br&gt;if someone  has managed (and how) to port a Windows executable on Linux via mono.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><pubDate>Mon, 23 Jan 2012 14:27:07 GMT</pubDate><dc:creator>Ys</dc:creator></item><item><title>Fetch plans</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6815-4-1.aspx</link><description>Give the following model&lt;br&gt;&lt;br&gt;&lt;br&gt;Customer&lt;br&gt;  0..* PurchaseOrder&lt;br&gt;    0..* OrderDelivery&lt;br&gt;    0..* OrderLine&lt;br&gt;      1 StockItem&lt;br&gt;&lt;br&gt;I would like to define a tree-like structure as a kind of fetch-plan to instruct ECO what data I want retrieved from the DB.  Is this clear enough?&lt;br&gt;&lt;br&gt;&lt;br&gt;var orderFetchPlan = new FetchPlan&amp;lt;PurchaseOrder&amp;gt;();&lt;br&gt;orderFetchPlan.FetchMultiAssociation(x =&amp;gt; x.Lines);&lt;br&gt;orderFetchPlan.FetchMultiAssociation(x =&amp;gt; x.OrderDeliveries);&lt;br&gt;&lt;br&gt;&lt;br&gt;To create a nested fetch plan...&lt;br&gt;&lt;br&gt;var customerFetchPlan = new FetchPlan&amp;lt;Customer&amp;gt;();&lt;br&gt;customerFetchPlan.FetchMultiAssociation(x =&amp;gt; x.PurchaseOrders,&lt;br&gt;  orderPlan =&amp;gt; orderPlan.FetchMultiAssociation(x =&amp;gt; x.Lines,&lt;br&gt;      linePlan =&amp;gt; linePlan.FetchSingleAssociation(x =&amp;gt; x.StockItem)&lt;br&gt;     ),&lt;br&gt;  orderPlan =&amp;gt; orderPlan.FetchMultiAssociation(x =&amp;gt; x.OrderDeliveries));&lt;br&gt;&lt;br&gt;</description><pubDate>Mon, 16 Jan 2012 15:13:29 GMT</pubDate><dc:creator>PeterMorris</dc:creator></item><item><title>Sould I choose ECO instead of EF to develop new ASP.NET MVC 3 (soon 4) for Azure?</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6827-4-1.aspx</link><description>I'm starting a new big project and have almost decided what the technology stack will be:&lt;br&gt;&lt;br&gt;platform&lt;br&gt; -Azure&lt;br&gt;data access layer:&lt;br&gt; -Azure SQL&lt;br&gt; -Entity Framework 4.2 (POCO objects, Repository + UoW patterns)&lt;br&gt;server:&lt;br&gt; -ASP.NET MVC 3 (or 4 when it's ready)&lt;br&gt; -DI (Unity.Mvc3.dll)&lt;br&gt;client:&lt;br&gt; -HTML 5 + CSS3 + JQuery (Single Page Layout style)&lt;br&gt;&lt;br&gt;I'm wondering will I be happy if I choose to use ECO instead of EF? I see the pros (productivity boost), but am afraid of all the gotchas waiting to bite me during the development process and later when I go to production (performance for example).&lt;br&gt;&lt;br&gt;What would you choose? &lt;br&gt;&lt;br&gt;P.S. If I  choose ECO &lt;br&gt;- should I use some ecospace pooling or just create a new one per http request? &lt;br&gt;- will I have to write POCO classes to transfer data to/from the view?&lt;br&gt;- what else should I be aware of?</description><pubDate>Fri, 20 Jan 2012 10:51:41 GMT</pubDate><dc:creator>Pawel</dc:creator></item><item><title>Phone dev anyone?</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6804-4-1.aspx</link><description>&lt;A href="http://www.new.capableobjects.com/2012/01/06/smart-phones-and-model-driven-development/"&gt;http://www.new.capableobjects.com/2012/01/06/smart-phones-and-model-driven-development/&lt;/A&gt;</description><pubDate>Fri, 06 Jan 2012 20:51:19 GMT</pubDate><dc:creator>HansKarlsen</dc:creator></item><item><title>Will latest ECO run on VS 11 Developer Preview?</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6831-4-1.aspx</link><description>Can I use ECO with &lt;A href="http://msdn.microsoft.com/en-us/vstudio/hh127353"&gt;Visual Studio 11 Developer Preview&lt;/A&gt;?</description><pubDate>Fri, 20 Jan 2012 13:57:46 GMT</pubDate><dc:creator>Pawel</dc:creator></item><item><title>Oracle, Delphi 2006, Eco3, Bdp - decimal value problem</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6819-4-1.aspx</link><description>Hi,&lt;br&gt;&lt;br&gt;I use Delphi 2006, ECOIII and BDP to connect to an Oracle 10g Database.&lt;br&gt;I have a problem retrieving decimal values from the database when I change the DecimalSeparator and ThousandSeparator in Windows.&lt;br&gt;&lt;br&gt;In the eco model all types for decimal values are declared as type double, in the database all the value fields are number fields.&lt;br&gt;NLS settings for the database - NLS_NUMERIC_CHARACTERS; ,.&lt;br&gt;&lt;br&gt;When the DecimalSeparator is set to , all values are retrieved correctly, but when changed to . all values are multiplied by 10, for ex.: 6,2 becomes 62&lt;br&gt;&lt;br&gt;I tried to override this behavior by adding an Initialization string to the bdp connection string&lt;br&gt;&lt;br&gt;[code]&lt;br&gt;this.bdpConnection1.ConnectionString = "assembly=Borland.Data.Oracle, Version=2.5.0.0,&lt;br&gt; Culture=neutral, PublicKeyToken=91d62ebb5b0d1b1b;vendorclient=oci.dll;pooling=True;&lt;br&gt; grow on demand=True;database="+_DBPath_Main+";username="+_userName+";&lt;br&gt; max pool size=100;password="+_passWord+";provider=Oracle;min pool size=0;&lt;br&gt; Initialization String=alter session set NLS_NUMERIC_CHARACTERS = ',.'";&lt;br&gt;[/code]&lt;br&gt;&lt;br&gt;but that had no effect.&lt;br&gt;&lt;br&gt;Do you have any ideas or suggestions how to overcome this behavior?&lt;br&gt;&lt;br&gt;The next thing I would try to do is to add the sql statement alter session set NLS_NUMERIC_CHARACTERS in an extra query at program start and not in the connection string, maybe this will help.&lt;br&gt;&lt;br&gt;Or can I add something like a persistenceMapper for all decimal values retrieved from the database where I convert the values according to the DecimalSeparator settings in Windows?&lt;br&gt;&lt;br&gt;Thanks for your help in advance.</description><pubDate>Tue, 17 Jan 2012 10:24:59 GMT</pubDate><dc:creator>squirrels</dc:creator></item><item><title>question to ActionLanguage evaluation with variable self</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6813-4-1.aspx</link><description>Hi,&lt;/P&gt;&lt;P&gt;when calling a action language expression, the IActionLanguageService translates the passed element into a variable "self", so following expression returns the element:&lt;/P&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;P&gt;EcoSpace.ActionLanguage.Evaluate(element, &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face=Consolas&gt;&lt;FONT color=#a31515 size=2 face=Consolas&gt;&lt;FONT color=#a31515 size=2 face=Consolas&gt;"self"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT face=Verdana&gt;When I try the same logic by using following procedure:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;IModifiableVariableList&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; variableList = serviceProvider.GetEcoService&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;IVariableFactoryService&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&amp;gt;().CreateVariableList();&lt;BR&gt;variableList.Add(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face=Consolas&gt;&lt;FONT color=#a31515 size=2 face=Consolas&gt;&lt;FONT color=#a31515 size=2 face=Consolas&gt;"self"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;, element);&lt;BR&gt;result = ecoSpace.ActionLanguage.Evaluate(&lt;FONT color=#a31515&gt;"self"&lt;/FONT&gt;&lt;FONT color=#1f5080&gt;, variableList);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;P&gt;I get a EBoldOCLInternalError exception saying : 0: this variable (self) has no variable or type.&lt;BR&gt;When I understand this correctly, then "self" is a special kind of variable that can't be used in a variableList. &lt;/P&gt;&lt;P&gt;Can a variable "self" be defined and used within a variable list or is this name reserved?&lt;/P&gt;&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; &lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;</description><pubDate>Fri, 13 Jan 2012 14:55:45 GMT</pubDate><dc:creator>Peter Buchmann</dc:creator></item><item><title>Get associated object</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6798-4-1.aspx</link><description>Hi,&lt;/P&gt;&lt;P&gt;association classes are a extremely useful feature of ECO. But I always found it quite ugly how such associated objects have to be retrieved. Just a example. Given this model:&lt;BR&gt;&lt;BR&gt;          C&lt;BR&gt;          |&lt;BR&gt;A ------------ B&lt;BR&gt;   A 1       Bs *&lt;BR&gt;   &lt;/P&gt;&lt;P&gt;if you have a object a of class A and a object b of class B you can get the associated object c of class C by:&lt;/P&gt;&lt;P&gt;C c = a.C[a.Bs.IndexOf(b)];&lt;/P&gt;&lt;P&gt;The class A has two associations (Bs of type IEcoList&amp;lt;B&amp;gt; and C of type IEcoList&amp;lt;C&amp;gt;) and the index of the associated object in a.C is the same than the index of the object b in the a.Bs. The code above is dangerous when the object b ist not associated to the given a, because it will lead to a wrong index exception. The index should be validated before it is used.&lt;/P&gt;&lt;P&gt;Given following extension method:&lt;/P&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;public&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;static&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; TAssociationClass GetAssociatedObject&amp;lt;TBase, TAssociationClass, TNeighbour&amp;gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;this&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; TBase baseObject, TNeighbour neighbour, &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;Expression&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;Func&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&amp;lt;TBase, &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;IEcoList&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&amp;lt;TNeighbour&amp;gt;&amp;gt;&amp;gt; neighbourAssociation, &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;Expression&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;Func&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&amp;lt;TBase, &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;IEcoList&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&amp;lt;TAssociationClass&amp;gt;&amp;gt;&amp;gt; accociationClassAssociation)&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;   where&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; TBase : &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;class&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;, &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;IEcoObject&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;   where&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; TNeighbour : &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;class&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;, &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;IEcoObject&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;   where&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; TAssociationClass : &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;class&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;, &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;IEcoObject&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;{&lt;BR&gt;&lt;FONT color=#0000ff&gt;   &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; (baseObject == &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;null&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;)&lt;BR&gt;&lt;FONT color=#0000ff&gt;   &lt;/FONT&gt;{&lt;BR&gt;&lt;FONT color=#0000ff&gt;      &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;throw&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;ArgumentNullException&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face=Consolas&gt;&lt;FONT color=#a31515 size=2 face=Consolas&gt;&lt;FONT color=#a31515 size=2 face=Consolas&gt;"objekt"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;);&lt;BR&gt;&lt;FONT color=#0000ff&gt;   &lt;/FONT&gt;}&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;   if&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; (neighbour == &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;null&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;)&lt;BR&gt;&lt;FONT color=#0000ff&gt;   &lt;/FONT&gt;{&lt;BR&gt;&lt;FONT color=#0000ff&gt;      &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;throw&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;ArgumentNullException&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face=Consolas&gt;&lt;FONT color=#a31515 size=2 face=Consolas&gt;&lt;FONT color=#a31515 size=2 face=Consolas&gt;"neighbour"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;);&lt;BR&gt;&lt;FONT color=#0000ff&gt;   &lt;/FONT&gt;}&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;   if&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; (neighbourAssociation == &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;null&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;)&lt;BR&gt;&lt;FONT color=#0000ff&gt;   &lt;/FONT&gt;{&lt;BR&gt;&lt;FONT color=#0000ff&gt;      &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;throw&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;ArgumentNullException&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face=Consolas&gt;&lt;FONT color=#a31515 size=2 face=Consolas&gt;&lt;FONT color=#a31515 size=2 face=Consolas&gt;"neighbourAssociation"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;);&lt;BR&gt;&lt;FONT color=#0000ff&gt;   &lt;/FONT&gt;}&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;   if&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; (accociationClassAssociation == &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;null&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;)&lt;BR&gt;&lt;FONT color=#0000ff&gt;   &lt;/FONT&gt;{&lt;BR&gt;&lt;FONT color=#0000ff&gt;      &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;throw&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;ArgumentNullException&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2 face=Consolas&gt;&lt;FONT color=#a31515 size=2 face=Consolas&gt;&lt;FONT color=#a31515 size=2 face=Consolas&gt;"accociationClassAssociation"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;);&lt;BR&gt;&lt;FONT color=#0000ff&gt;   &lt;/FONT&gt;}&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;   &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;Func&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&amp;lt;TBase, &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;IEcoList&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&amp;lt;TNeighbour&amp;gt;&amp;gt; compiledNeighbourAssociation = neighbourAssociation.Compile();&lt;BR&gt;&lt;FONT color=#0000ff&gt;   &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;Func&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&amp;lt;TBase, &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;IEcoList&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&amp;lt;TAssociationClass&amp;gt;&amp;gt; compiledAccociationClassAssociation = accociationClassAssociation.Compile();&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;   &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;int&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; index = compiledNeighbourAssociation(baseObject).IndexOf(neighbour);&lt;BR&gt;&lt;FONT color=#0000ff&gt;   &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; (index &amp;gt;= 0 &amp;amp;&amp;amp; index &amp;lt; compiledAccociationClassAssociation(baseObject).Count)&lt;BR&gt;&lt;FONT color=#0000ff&gt;   &lt;/FONT&gt;{&lt;BR&gt;&lt;FONT color=#0000ff&gt;      &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;return&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; compiledAccociationClassAssociation(baseObject)[index];&lt;BR&gt;&lt;FONT color=#0000ff&gt;   &lt;/FONT&gt;}&lt;BR&gt;&lt;FONT color=#0000ff&gt;   &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#0000ff&gt;else&lt;BR&gt;   &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;{&lt;BR&gt;&lt;FONT color=#0000ff&gt;      &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;return&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;null&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;;&lt;BR&gt;&lt;FONT color=#0000ff&gt;   &lt;/FONT&gt;}&lt;BR&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT face=Verdana&gt;you can write:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT face=Verdana&gt;C c = a.GetAssociatedObject(b, X =&amp;gt; X.Bs, X =&amp;gt; X.C );&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT face=Verdana&gt;I like this! This is a cool example for the usage of extension methods.&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;</description><pubDate>Fri, 06 Jan 2012 09:53:15 GMT</pubDate><dc:creator>Peter Buchmann</dc:creator></item><item><title>Re-evaluate statemachine guards when they change if no trigger</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6793-4-1.aspx</link><description>Simple class with one property called Int (an Integer) and statemachine with 2 states: *----&amp;gt;(State1)---Guard(self.Int &amp;gt; 0)---&amp;gt;(State2). Note: No trigger, just the guard condition. I tried this unit test and it failed:[code]&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;P&gt;var&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#000000 size=2 face=Consolas&gt; obj1 = &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#000000 size=2 face=Consolas&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;Class1&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#000000&gt;(es);&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;P&gt;Assert&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#000000 size=2 face=Consolas&gt;.IsTrue(obj1.AsIObject().StateMachine.IsInState(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;Class1&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#000000 size=2 face=Consolas&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;Eco_StateMachineConsts&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#000000&gt;.State1));&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;obj1.Int = 1;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;P&gt;Assert&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#000000 size=2 face=Consolas&gt;.IsTrue(obj1.AsIObject().StateMachine.IsInState(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;Class1&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#000000 size=2 face=Consolas&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;Eco_StateMachineConsts&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT color=#000000&gt;.State2));&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;/FONT&gt;[/code]&lt;/P&gt;&lt;P&gt;So, my question is: Shouldn't a statemachine, in a state with guard only transitions, subscribe to the properties tested in the guard, and auto re-evaluate transitions when the properties change? If not, can I manually tell the statemachine to re-evaluate? I could not find any way to poke the statemachine.</description><pubDate>Thu, 29 Dec 2011 04:11:20 GMT</pubDate><dc:creator>RickWeyrauch</dc:creator></item><item><title>Can Eco6 web application deploy on mono with linux</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6653-4-1.aspx</link><description>Have somebody deploy ECO6 on mono with linux?</description><pubDate>Tue, 08 Nov 2011 08:37:25 GMT</pubDate><dc:creator>wangwei.njcn</dc:creator></item><item><title>How to retrieve current DB values while handling a optimistic locking exception?</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6780-4-1.aspx</link><description>I'm just struggeling with a problem that I get by handling a optimistic locking exception. &lt;/P&gt;&lt;P&gt;When two users change the same attibutes in a object, the second user gets a optimistic locking exception (when configured). I would like to show him, which changes have been saved by the first user and give the second user the possibility to "merge" the two versions.&lt;/P&gt;&lt;P&gt;I tried to apply the action ChangeActionKind.Keep for the relevant IChange objects that I get by calling EcoSpace.Persistence.GetChanges() and really get the DB values as fetched values but then I can't reapply the ChangeActionKind.Reread for the same IChanges because they are already applied.&lt;/P&gt;&lt;P&gt;How can I retrieve the DB values that user one has changed without using the apply mechanism of IChange? &lt;BR&gt;Or: &lt;BR&gt;How can I apply more than one ChangeActionKinds one after the other?</description><pubDate>Thu, 15 Dec 2011 17:15:30 GMT</pubDate><dc:creator>Peter Buchmann</dc:creator></item><item><title>modifiedSinceTimeStamp - not works properly</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6788-4-1.aspx</link><description>I try to use SiteSync. But it not works properly.&lt;br&gt;&lt;br&gt;I try it  on PS: "VersionedClass.allInstances-&gt;select(x|x.modifiedSinceTimeStamp(1))"&lt;br&gt;&lt;br&gt;But I see:&lt;br&gt;&lt;br&gt;Eco.FrameworkImpl.Ocl.EBoldOCLAbort: 40:Undefined operation: modifiedSinceTimeStamp&lt;br&gt;   at Eco.Ocl.Impl.TBoldOclSemanticsVisitor.VisitTBoldOclIteration(TBoldOclIteration N)&lt;br&gt;   at Eco.Ocl.Impl.TBoldOclIteration.AcceptVisitor(OclVisitor V)&lt;br&gt;   at Eco.Ocl.Impl.TBoldOclSemanticsVisitor.Traverse(OclNode InNode)&lt;br&gt;   at Eco.Ocl.Impl.OclParsedExpressionHandler.SemanticCheck(OclEntry entry, OclEnvironment oclEnvironment, Boolean isPsEvaluation)&lt;br&gt;   at Eco.Ocl.Impl.OclParsedExpressionHandler.SemanticCheck(String fixedExpression, String originalExpression, IClassifier context, OclEnvironment oclEnvironment, Boolean isPsEvaluation)&lt;br&gt;   at Eco.Ocl.Impl.OclParsedExpressionHandler.GetEntry(String expression, IClassifier context, Boolean storeInDictionary, OclEnvironment oclEnvironment, Boolean isPsEvaluation)&lt;br&gt;   at Eco.Ocl.Impl.OclImplBase.ExpressionType(String expression, IClassifier context, Boolean reRaise, IExternalVariableList variableList)&lt;br&gt;   at Eco.Ocl.Impl.OclImplBase.ExpressionType(String Expression, IClassifier Context, Boolean ReRaise)&lt;br&gt;   at Eco.Windows.Forms.ClassAndOclDebuggerPanel.ValidateOcl()</description><pubDate>Tue, 20 Dec 2011 21:25:06 GMT</pubDate><dc:creator>seg</dc:creator></item><item><title>Upgrade Options for ECO from Borland Dev Studio 2006?</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6785-4-1.aspx</link><description>This may be a tough question but I have a large code base built in Dev Studio 2006.  It is (obviously) an ECO project using SQL-Server and a WinForms interface.  I have the model and the business logic in its own project.  I occasionally run into problems where the code-generator in the modeling tool likes to break my code / it creates poorly formed UmlElements and, unless I'm very careful in how I recover, it effectively makes it so that class in the code can no longer be re-generated with the modeling tools.  VERY annoying.  BUT, more than that, I'd love to move to a current platform and use some of the newer features of .NET.  What am I looking at to do this?  How big of a job would it be??&lt;br&gt;&lt;br&gt;Thanks!&lt;br&gt;&lt;br&gt;Damian&lt;br&gt;&lt;br&gt;</description><pubDate>Sun, 18 Dec 2011 04:46:29 GMT</pubDate><dc:creator>damian</dc:creator></item><item><title>Can you change state names?</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6746-4-1.aspx</link><description>If I change a state name will it be evolved in the database?</description><pubDate>Sun, 27 Nov 2011 19:05:35 GMT</pubDate><dc:creator>ryan_denn</dc:creator></item><item><title>Code generating over MSBuildscript?</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6775-4-1.aspx</link><description>Hi,&lt;br&gt;&lt;br&gt;is it possible and how to generate code over a buildserver e.g. MSBuildscript?&lt;br&gt;</description><pubDate>Wed, 14 Dec 2011 15:56:18 GMT</pubDate><dc:creator>efim</dc:creator></item><item><title>Error after converting project to ECO 6</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6172-4-1.aspx</link><description>I have a WinForms app originally built in VS2008 Eco V and then upgraded the project to ECO 6 on VS2010... that was about 2 months ago. &lt;br&gt;&lt;br&gt;Now I'm opening the project to do some work and am getting the following error when the app is trying to execute the "Application.Run(mainForm);" line of  my app's Program.cs.&lt;br&gt;&lt;br&gt;I've done some google searches that say add "[assembly:AllowPartiallyTrustedCallers]" to the AssemblyInfo.cs for each assembly.   I have done this to my code, but it seems to make no difference.  &lt;br&gt;&lt;br&gt;Anyone else seen this error?  Have any ideas of what I could try?&lt;br&gt;&lt;br&gt;-----&lt;br&gt;&lt;br&gt;Exception in Displayqueue, Check inner exception for info&lt;br&gt;&lt;br&gt;PersistenceMapperClient failed to connect to the server. &lt;br&gt;Message: Attempt by security transparent method 'Eco.Persistence.Remoting.PersistenceMapperClient.GetMapper(Boolean)' to access security critical method 'System.Runtime.Remoting.RemotingServices.Connect(System.Type, System.String)' failed.&lt;br&gt;&lt;br&gt;Assembly 'Eco.Persistence, Version=6.0.0.0, Culture=neutral, PublicKeyToken=46a833be9e90de8c' is marked with the AllowPartiallyTrustedCallersAttribute, and uses the level 2 security transparency model.  Level 2 transparency causes all methods in AllowPartiallyTrustedCallers assemblies to become security transparent by default, which may be the cause of this exception.&lt;br&gt;Server URL: tcp://localhost:4245/AnyKeyMFMService.rem</description><pubDate>Fri, 24 Jun 2011 05:03:49 GMT</pubDate><dc:creator>smashed2bitz</dc:creator></item><item><title>Linq2Eco paging and filtering support</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic2794-4-1.aspx</link><description>Hi,&lt;br&gt;&lt;br&gt;I do not see any details for Linq features below. Could you please light it up a bit.&lt;br&gt;- Paging: LINQ Take and Skip (executed on the DB effectively).&lt;br&gt;- Filtering for string (at least StartsWith and Contains).&lt;br&gt;- Filtering for ints - converting to string and filter (list.Where( x =&gt; x.ClientCode.ToString().StartsWith(clientCodeFilter))&lt;br&gt;- Filtering for enums (equal comparison)&lt;br&gt;&lt;br&gt;Or maybe there's some table that describes all the implemented functionality?&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Dmitriy.</description><pubDate>Wed, 25 Mar 2009 23:34:39 GMT</pubDate><dc:creator>nagir</dc:creator></item><item><title>can't export Blob/Text fields to XML</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic5217-4-1.aspx</link><description>Hi,&lt;/P&gt;&lt;P&gt;I'm using this sample of Jonas to export/import eco instances to and back from xml: &lt;A href="http://www.capableobjects.com/apps/InstantForum414/Topic3343-4-1.aspx?Highlight=Export"&gt;http://www.capableobjects.com/apps/InstantForum414/Topic3343-4-1.aspx?Highlight=Export&lt;/A&gt;&lt;/P&gt;&lt;P&gt;It works quite well till a Blob/Text attribute was attached to the class to be exported. As I found no value was copied in result XML at all. Do I miss something using this routine? It should be the matter of DatablockConverter.ConvertToXml.</description><pubDate>Sat, 15 May 2010 22:48:04 GMT</pubDate><dc:creator>efim</dc:creator></item><item><title>Autoform Modeification Request</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6768-4-1.aspx</link><description>Greetings to the ECO Team&lt;/P&gt;&lt;P&gt;On the standard autoform if the AttributeName is longer than about 16 characters the * indication attribute value changed cannot be seen.&lt;/P&gt;&lt;P&gt;I wish to request that the indication of changed value be changed to ( in order of preference) &lt;/P&gt;&lt;P&gt;1)   "bold font" , or&lt;/P&gt;&lt;P&gt;2) * be changed to a  prefix or&lt;/P&gt;&lt;P&gt;3) truncate the attribute name  to allow the * to be visible&lt;/P&gt;&lt;P&gt;regards</description><pubDate>Tue, 06 Dec 2011 06:00:44 GMT</pubDate><dc:creator>SteveA</dc:creator></item><item><title>Schema Generation| ExecSQL error: Incorrect syntax near...</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6736-4-1.aspx</link><description>"Generate Schema has generated has sql with  incorrect syntax IX_[ABT_ACTIONITEMS]&lt;/P&gt;&lt;P&gt;The [] should be removed before adding the IX prefix to  [ABT_ACTIONITEMS]&lt;/P&gt;&lt;P&gt;Schema Generation| ExecSQL error: Incorrect syntax near 'ABT_ACTIONITEMS'. &lt;/P&gt;&lt;P&gt;SQL: CREATE TABLE [ABT_ActionItems] ([ActionID] INTEGER IDENTITY(1,1) NOT NULL, [LastUpdated] DATETIME DEFAULT '19000101' NOT NULL, [OrderID] INT, [P2Eid] INT, [Priority] INT DEFAULT 0 NOT NULL, [SalesPhase] INT, [ScheduledFor] DATETIME DEFAULT '19000101' NOT NULL, [Text] NVARCHAR(1024) DEFAULT '' NOT NULL, CONSTRAINT IX_[ABT_ACTIONITEMS] PRIMARY KEY ([ActionID]))&lt;/P&gt;&lt;P&gt;0 Parameters:&lt;/P&gt;&lt;P&gt;| Eco.Persistence.Connection.DatabaseOperationFailedException: ExecSQL error: Incorrect syntax near 'ABT_ACTIONITEMS'. &lt;/P&gt;&lt;P&gt;| SQL: CREATE TABLE [ABT_ActionItems] ([ActionID] INTEGER IDENTITY(1,1) NOT NULL, [LastUpdated] DATETIME DEFAULT '19000101' NOT NULL, [OrderID] INT, [P2Eid] INT, [Priority] INT DEFAULT 0 NOT NULL, [SalesPhase] INT, [ScheduledFor] DATETIME DEFAULT '19000101' NOT NULL, [Text] NVARCHAR(1024) DEFAULT '' NOT NULL, CONSTRAINT IX_[ABT_ACTIONITEMS] PRIMARY KEY ([ActionID]))&lt;/P&gt;&lt;P&gt;| 0 Parameters: ---&amp;gt; System.Data.SqlClient.SqlException: Incorrect syntax near 'ABT_ACTIONITEMS'.&lt;/P&gt;&lt;P&gt;| at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)&lt;/P&gt;&lt;P&gt;| at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)&lt;/P&gt;&lt;P&gt;| at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()&lt;/P&gt;&lt;P&gt;| at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)&lt;/P&gt;&lt;P&gt;| at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)&lt;/P&gt;&lt;P&gt;| at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)&lt;/P&gt;&lt;P&gt;| at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()&lt;/P&gt;&lt;P&gt;| at Eco.Persistence.Connection.AbstractIQueryImpl.ExecSql()&lt;/P&gt;&lt;P&gt;| --- End of inner exception stack trace ---&lt;/P&gt;&lt;P&gt;| at Eco.Persistence.Connection.AbstractIQueryImpl.ExecSql()&lt;/P&gt;&lt;P&gt;| at Eco.Persistence.Impl.TBoldCreateDatabaseSupport.CreateTable(TableDefinition tableDef, IExecQuery Query, SqlDatabaseConfig config)&lt;/P&gt;&lt;P&gt;| at Eco.Persistence.Impl.TBoldCreateDatabaseSupport.CreatePersistentStorage(IDatabase db, IConfigureCleanPS configureCleanPS, DatabaseDefinition dbDef, SqlDatabaseConfig config, TableDefinition TableTable)&lt;/P&gt;&lt;P&gt;| at Eco.Persistence.Impl.SystemPersistenceMapper.CreatePersistentStorage(IDatabase database, IConfigureCleanPS configureCleanPS)&lt;/P&gt;&lt;P&gt;| at Eco.Persistence.AbstractPersistenceMapperDb.CreateDatabaseSchema(ITypeSystemService typeSystemService, IDatabaseCollection databases, String databaseName, IORMappingProvider newMappingProvider, IORMappingProvider oldMappingProvider, IConfigureCleanPS configureCleanPS)&lt;/P&gt;&lt;P&gt;| at Eco.Persistence.PersistenceMapperDb.CreateDatabaseSchema(ITypeSystemService typeSystemService, IConfigureCleanPS configureCleanPS)&lt;/P&gt;&lt;P&gt;| at Eco.Persistence.Design.GenerateDBTool.DoExecute(ExecuteArgs executeArgs)&lt;/P&gt;&lt;P&gt;| at Eco.Persistence.Design.DBToolBase.Execute(ExecuteArgs executeArgs)&lt;BR&gt;.</description><pubDate>Thu, 24 Nov 2011 12:33:14 GMT</pubDate><dc:creator>SteveA</dc:creator></item><item><title>How to choose the EcoSpace for ecoGlobalActions</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6766-4-1.aspx</link><description>For Buttons the EcoAction on ecoGlobalAction includes the option for ShowDebugger and other actions. However there does not seem to be a way to choose which EcoSpace the action applies to. &lt;P&gt;It is easy enough to perform the action in code ( for example ) &lt;/P&gt;&lt;P&gt;Eco.Windows.Forms.&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;EcoSpaceDebugger&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; NewForm = &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;&lt;FONT color=#0000ff size=2 face=Consolas&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;&lt;FONT color=#2b91af size=2 face=Consolas&gt;EcoSpaceDebugger&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;EcoSpace2);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;Is it possible to set the ecospace on a standard button using the EcoAction on ecoGlobalAction proprty.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Consolas&gt;&lt;/FONT&gt; &lt;/P&gt;&lt;P&gt;&lt;FONT face=Consolas&gt;Also the system prototyper seems to have some problems when more than one ecospace is available&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;regards&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2 face=Consolas&gt;&lt;FONT size=2 face=Consolas&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;</description><pubDate>Tue, 06 Dec 2011 00:48:15 GMT</pubDate><dc:creator>SteveA</dc:creator></item><item><title>Error in sample project 'AspProviderDemo'</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6748-4-1.aspx</link><description>Hi all,&lt;br&gt;&lt;br&gt;I tried running the 'AspProviderDemo' sample and encountered an error which I cannot resolve - here are the steps:&lt;br&gt;&lt;br&gt;1) load sample 'AspProviderDemo'&lt;br&gt;2) adjust path of XML persistence file&lt;br&gt;3) run the sample&lt;br&gt;4) browser window opens and shows WebForm1.aspx (as expected)&lt;br&gt;5) Refresh page&lt;br&gt;6) asp.net error appears&lt;br&gt;&lt;br&gt;[u]The error message is:[/u]&lt;br&gt;&lt;br&gt;[b]Server Error in '/AspProviderDemo2' Application.&lt;br&gt;An exception occurred. Please check the Event Log. &lt;br&gt; Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. &lt;br&gt;&lt;br&gt; Exception Details: System.Configuration.Provider.ProviderException: An exception occurred. Please check the Event Log.&lt;br&gt;&lt;br&gt;Source Error: &lt;br&gt; An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. &lt;br&gt;&lt;br&gt;&lt;br&gt;Stack Trace: &lt;br&gt;&lt;br&gt;[ProviderException: An exception occurred. Please check the Event Log.]&lt;br&gt;   Eco.Web.AspProviders.EcoProviderSupport.LogOrThrow(Exception e, String operation) +176&lt;br&gt;   Eco.Web.AspProviders.EcoSessionStateStoreProvider.GetSessionStoreItem(Boolean lockRecord, HttpContext context, String id, Boolean&amp; locked, TimeSpan&amp; lockAge, Object&amp; lockId, SessionStateActions&amp; actionFlags) +1923&lt;br&gt;   Eco.Web.AspProviders.EcoSessionStateStoreProvider.GetItemExclusive(HttpContext context, String id, Boolean&amp; locked, TimeSpan&amp; lockAge, Object&amp; lockId, SessionStateActions&amp; actionFlags) +126&lt;br&gt;   System.Web.SessionState.SessionStateModule.GetSessionStateItem() +178&lt;br&gt;   System.Web.SessionState.SessionStateModule.BeginAcquireState(Object source, EventArgs e, AsyncCallback cb, Object extraData) +1076&lt;br&gt;   System.Web.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +115&lt;br&gt;   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously) +375&lt;br&gt;[/b]&lt;br&gt;&lt;br&gt;&lt;br&gt;As far as I found out the error seems to be related to the "EcoSessionStateProvider" - commenting out the section in web.config resolves the issue... are there any disadvantages disabling this provider?&lt;br&gt;&lt;br&gt;[u]Test scenario:[/u]&lt;br&gt;1) ECO version 5744 (current production) and 5774 (latest build) (identical results)&lt;br&gt;2) VS2010SP1&lt;br&gt;3) Win7 Ultimate 64Bit&lt;br&gt;4) Persistency: XML &amp; MSSQL&lt;br&gt;&lt;br&gt;Any ideas?&lt;br&gt;&lt;br&gt;TIA,&lt;br&gt;Levend.</description><pubDate>Mon, 28 Nov 2011 09:50:28 GMT</pubDate><dc:creator>Levend</dc:creator></item><item><title>Eco/Silverlight authentication</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6764-4-1.aspx</link><description>Hello,&lt;br&gt;&lt;br&gt;What would be the best way to authenticate users in a Silverlight application? Right now I added a separate login service to a PServerIis project which allows to verify user name/password against an Eco database. However, I would like to be able to pass some security info to the persistence mapper provider in order to apply database security features, etc. So far I did not find a way to communicate from a Silverlight app to its persistence mapper. Also, something like a session would help - when a login service instance would share the same context as a persistence mapper provider instance. Please share your experience.&lt;br&gt;&lt;br&gt;Best regards,&lt;br&gt;Dmitry</description><pubDate>Thu, 01 Dec 2011 17:43:49 GMT</pubDate><dc:creator>Dmitry</dc:creator></item><item><title>Eco6 and DevExpress XtraReports binding not working</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6763-4-1.aspx</link><description>Hi,&lt;br&gt;&lt;br&gt;I am trying to use Eco6 in conjunction with the DevExpress XtraReports reporting components and not having much luck.&lt;br&gt;&lt;br&gt;Has anybody used these components successfully with Eco 6?&lt;br&gt;&lt;br&gt;I have dropped an Eco ReferenceHandle on my form and set the EcoSpaceTypeName to my EcoSpace type.  At runtime I set the handles EcoSpace to an active instance of my EcoSpace.&lt;br&gt;I have dropped an Eco ExpressionHandle on my form and set it's RootHandle to the above and set it's expression to select all instances of the Eco type I wish to report.&lt;br&gt;&lt;br&gt;I have set the  XtraReport DatSource to the expression handle above.&lt;br&gt;&lt;br&gt;I have called ElementHandle.EnsureAllBindingLists( ) to update the handle values.&lt;br&gt;&lt;br&gt;In the Detail band of the report I have dropped an XRLabel and bound it to an attribute of my eco class.&lt;br&gt;&lt;br&gt;(Note that all the interactive designers etc are working as expected.)&lt;br&gt;&lt;br&gt;When I run my report I get a detail line for each Eco class instance but for some reason the XRLabel binding does not pick up any data!&lt;br&gt;&lt;br&gt;I have wasted half a day poking at this problem and any assistance or suggestions would be greatly appreciated.&lt;br&gt;&lt;br&gt;Regards AndyDB&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><pubDate>Thu, 01 Dec 2011 04:01:16 GMT</pubDate><dc:creator>AndyB</dc:creator></item><item><title>Recursive model question</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6760-4-1.aspx</link><description>With the following model:&lt;br&gt;&lt;br&gt;Class: Person&lt;br&gt;Attribute: Name&lt;br&gt;&lt;br&gt;Class: Company&lt;br&gt;Attribute: Name&lt;br&gt;Association: People 0..* -&gt; Person&lt;br&gt;Association: ChildCompany 0..* -&gt; Company&lt;br&gt;&lt;br&gt;&lt;br&gt;What OCL would you use to get all the People From a Company, including the People from all the ChildCompanies</description><pubDate>Wed, 30 Nov 2011 13:32:38 GMT</pubDate><dc:creator>ryan_denn</dc:creator></item><item><title>Get a list of reasons for "Unable to find a transition for trigger"</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6743-4-1.aspx</link><description>Hi&lt;br&gt;&lt;br&gt;Regarding the exception "Unable to find a transition for trigger X from state Y in class Z"&lt;br&gt;&lt;br&gt;Is there a way to find out what constraints are being broken that prevent a trigger being unavailable?</description><pubDate>Sun, 27 Nov 2011 17:46:14 GMT</pubDate><dc:creator>ryan_denn</dc:creator></item><item><title>Uncommited implicit transactions active: Allocated Queries: 48 returned: 47</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6716-4-1.aspx</link><description>I am having a problem with a web app. What would cause this error?&lt;br&gt;&lt;br&gt;Source Error: &lt;br&gt;&lt;br&gt;&lt;br&gt;Line 110:&lt;br&gt;Line 111:            EcoDataSource1.PsExpression = ocl;&lt;br&gt;Line 112:            DataBind();&lt;br&gt;Line 113:        }&lt;br&gt;Line 114:&lt;br&gt; &lt;br&gt;&lt;br&gt;Allocated Queries: 48 returned: 47 &lt;br&gt;Uncommited implicit transactions active&lt;br&gt;&lt;br&gt;[InvalidOperationException: Allocated Queries: 48 returned: 47 &lt;br&gt;Uncommited implicit transactions active&lt;br&gt;]&lt;br&gt;   System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) +7598751&lt;br&gt;   System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&amp; msgData, Int32 type) +275&lt;br&gt;   Eco.Persistence.IPersistenceMapper.FetchIDListWithCondition(AbstractCondition condition, ObjectIdList&amp; result, Int32 maxResults, Int32 offset) +0&lt;br&gt;   Eco.Persistence.Remoting.ClientMapperImpl.Eco.Persistence.IPersistenceMapper.FetchIDListWithCondition(AbstractCondition condition, ObjectIdList&amp; result, &lt;br&gt;&lt;br&gt;Int32 maxResults, Int32 offset) in e:\dev\fbuild\source\Eco\Eco.Persistence\Remoting\PersistenceMapperClient.cs:153&lt;br&gt;   Eco.Framework.DefaultImpl.PersistenceHandlerImpl.GetAllWithCondition(AbstractCondition Condition, Int32 MaxAnswers, Int32 Offset) in e:\dev\fbuild\source&lt;br&gt;&lt;br&gt;\Eco\Eco.Handles\FrameworkImpl\PersistenceHandler.cs:125&lt;br&gt;   Eco.Services.Impl.PersistenceServiceImpl.GetAllWithCondition(AbstractCondition condition, Int32 maxAnswers, Int32 offset) in e:\dev\fbuild\source\Eco&lt;br&gt;&lt;br&gt;\Eco.Handles\ServicesImpl\PersistenceServiceImpl.cs:144&lt;br&gt;   Eco.Ocl.Impl.OclPsServiceImpl.Execute(IElement root, IExternalVariableList variableList, String expression, Int32 maxAnswers, Int32 offset) in e:\dev&lt;br&gt;&lt;br&gt;\fbuild\source\Eco\Eco.Handles\FrameworkImpl\Ocl\Ocl.cs:614&lt;br&gt;   Eco.Web.UI.WebControls.EcoDataSourceView.DoSelect() in e:\dev\fbuild\source\Eco\Eco.Web\EcoDataSourceView.cs:685&lt;br&gt;   Eco.Web.UI.WebControls.EcoDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) in e:\dev\fbuild\source\Eco\Eco.Web\EcoDataSourceView.cs:745&lt;br&gt;   System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +19&lt;br&gt;   System.Web.UI.WebControls.DataBoundControl.PerformSelect() +142&lt;br&gt;   System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +73&lt;br&gt;   System.Web.UI.WebControls.GridView.DataBind() +4&lt;br&gt;   System.Web.UI.Control.DataBindChildren() +211&lt;br&gt;   System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +102&lt;br&gt;   System.Web.UI.Control.DataBind() +15&lt;br&gt;   System.Web.UI.Control.DataBindChildren() +211&lt;br&gt;   System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +102&lt;br&gt;   System.Web.UI.Control.DataBind() +15&lt;br&gt;</description><pubDate>Mon, 21 Nov 2011 14:32:01 GMT</pubDate><dc:creator>ryan_denn</dc:creator></item><item><title>IncludeExceptionDetailInFaults</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6717-4-1.aspx</link><description>The server was unable to process the request due to an internal error.  For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the &lt;serviceDebug&gt; configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework 3.0 SDK documentation and inspect the server trace logs.&lt;br&gt;&lt;br&gt;I get this error in an Eco 6 web app.&lt;br&gt;&lt;br&gt;Okay I am being a complete idiot, but I've searched and searched and can't get this right!&lt;br&gt;&lt;br&gt;Has anybody done this before?&lt;br&gt;&lt;br&gt;Also, are they referring to the persistence server, or the web application?&lt;br&gt;&lt;br&gt;*dumb face*</description><pubDate>Mon, 21 Nov 2011 14:35:09 GMT</pubDate><dc:creator>ryan_denn</dc:creator></item><item><title>Reading fields &amp; associations on an IObject</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6749-4-1.aspx</link><description>I have the following code:&lt;br&gt;&lt;br&gt; IObject contextObject = iElement as IObject;&lt;br&gt;                errorMessage += "Context Type: " + contextObject.UmlType.Name + Environment.NewLine;&lt;br&gt;              &lt;br&gt;                for (int i = 0; i &lt; contextObject.Properties.Count; i++)&lt;br&gt;                {&lt;br&gt;                    IProperty p = contextObject.Properties[i];&lt;br&gt;                    string type = p.UmlType.Name.ToString();&lt;br&gt;                    {&lt;br&gt;                        string field = p.StructuralFeature.EcoFeature.Name.ToString();&lt;br&gt;                        string fieldValue = System.Convert.ToString(contextObject.Properties[field].AsObject);&lt;br&gt;                        errorMessage += "Field: " + field + " Value: " + fieldValue + Environment.NewLine;&lt;br&gt;                    }&lt;br&gt;                }&lt;br&gt;&lt;br&gt;Which works well to show me the fields, and field values on an iobject, but for associations I get "Field: Comments Value: Eco.Framework.Impl.Frontside.FrontsideMultilinkAdapter'1[Model.Comment]".&lt;br&gt;&lt;br&gt;Is there a way I can get the count of the associated "Comments" instead of Eco.Framework.Impl.Frontside.FrontsideMultilinkAdapter'1[Model.Comment]&lt;br&gt;</description><pubDate>Tue, 29 Nov 2011 08:35:47 GMT</pubDate><dc:creator>ryan_denn</dc:creator></item><item><title>Can ECO5 (net remoting) and ECO6 (wcf) use the same database?</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6704-4-1.aspx</link><description>Hi&lt;br&gt;&lt;br&gt;I have a current ECO5 firebird application in use. I am busy recreating the interface in ECO6.&lt;br&gt;&lt;br&gt;Can my client use both the ECO5 app with a net remoting service, and the ECO6 app with a WCF service together against the same database at the same time?&lt;br&gt;&lt;br&gt;I am not sure if there were any changes in how ECO works between the two versions.&lt;br&gt;&lt;br&gt;Also would there be issues with the fact I have one net remoting service, and one WCF service?&lt;br&gt;&lt;br&gt;Thanks in advice,&lt;br&gt;&lt;br&gt;Ryan</description><pubDate>Fri, 18 Nov 2011 12:07:25 GMT</pubDate><dc:creator>ryan_denn</dc:creator></item><item><title>Where is the ECO team?</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6731-4-1.aspx</link><description>Hi ECO team&lt;br&gt;&lt;br&gt;Where are you?&lt;br&gt;&lt;br&gt;I would really like an answers to these two questions:&lt;br&gt;&lt;br&gt;http://www.capableobjects.com/apps/InstantForum414/Topic6704-4-1.aspx&lt;br&gt;&lt;br&gt;http://www.capableobjects.com/apps/InstantForum414/Topic6716-4-1.aspx&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;&lt;br&gt;Ryan</description><pubDate>Wed, 23 Nov 2011 13:55:27 GMT</pubDate><dc:creator>ryan_denn</dc:creator></item><item><title>Synchronous and asynchronous OCl in Silverlight WCF</title><link>http://www.capableobjects.com/apps/InstantForum414/Topic6735-4-1.aspx</link><description>I need to check whether user login name exists, for this I need to make main thread of my Silverlight application wait for the response from the server. Could you please advise me on best way to do this.&lt;br&gt;So far only asynchronous request return data.&lt;br&gt;&lt;br&gt;I have the following configuration:&lt;br&gt;_slEcoSpace = new SLEcoSpaceAndModel.SLEcoSpace();&lt;br&gt;EcoServiceHelper.GetAsyncSupportService(_slEcoSpace).TurnOnAsyncHandling();&lt;br&gt; _slEcoSpace.Active = true;&lt;br&gt;DequeuerSL.Active = true;&lt;br&gt;&lt;br&gt;request like this never gets data from server&lt;br&gt;available = IDataControl.SlEcoSpace.Ocl.Evaluate(oclString).GetValue&lt;bool&gt;();&lt;br&gt;&lt;br&gt;request like this gets data back, but because it is performed asynchronous, it does not really work for me&lt;br&gt;asyncService.PerformTaskAsync(() =&gt;&lt;br&gt;            {&lt;br&gt;                bool exists = IDataControl.SlEcoSpace.Ocl.Evaluate(oclString).GetValue&lt;bool&gt;();&lt;br&gt;                asyncService.DispatchTaskToMainThread(() =&gt;&lt;br&gt;                {&lt;br&gt;                    available = !exists;&lt;br&gt;                });&lt;br&gt;            });</description><pubDate>Thu, 24 Nov 2011 06:47:47 GMT</pubDate><dc:creator>Dima</dc:creator></item></channel></rss>
