<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>system.data.objects dev guy : DDD</title><link>http://blogs.msdn.com/dsimmons/archive/tags/DDD/default.aspx</link><description>Tags: DDD</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Links: EF4 Podcast, N-Tier Anti-Patterns, and some thoughts about DDD</title><link>http://blogs.msdn.com/dsimmons/archive/2009/06/03/links-ef4-podcast-n-tier-anti-patterns-and-some-thoughts-about-ddd.aspx</link><pubDate>Wed, 03 Jun 2009 10:56:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9689907</guid><dc:creator>dsimmons@microsoft.com</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/dsimmons/comments/9689907.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dsimmons/commentrss.aspx?PostID=9689907</wfw:commentRss><description>&lt;p&gt;Here are a few more resources I hope you will find useful:&lt;/p&gt;  &lt;p&gt;Recently I had a conversation about EF4 with Carl and Richard of .Net Rocks, and it went up on their site today.&amp;#160; Have a listen at &lt;a title="http://www.dotnetrocks.com/default.aspx?showNum=451" href="http://www.dotnetrocks.com/default.aspx?showNum=451"&gt;http://www.dotnetrocks.com/default.aspx?showNum=451&lt;/a&gt;.&amp;#160; &lt;/p&gt;  &lt;p&gt;In addition, I have an &lt;a href="http://msdn.microsoft.com/en-us/magazine/dd882522.aspx"&gt;article about design/architecture decisions related to n-tier applications in the latest issue of MSDN Magazine&lt;/a&gt;.&amp;#160; This article is actually the first part of a two-part series.&amp;#160; Originally it was a single longer article that wasn’t so depressing as this one came out (all about what *not* to do without really giving any help on what you should do).&amp;#160; There are some important concepts, though, so hopefully you’ll find something useful even in this first part.&lt;/p&gt;  &lt;p&gt;At the same time that I’ve been busy with these, some other folks have been trying out the beta of EF4 and some very interesting posts are starting to appear like this &lt;a href="http://blog.keithpatton.com/2009/05/30/Entity+Framework+POCO+Repository+Using+Visual+Studio+2010+Net+40+Beta+1.aspx"&gt;dive into producing a POCO repository with the EF&lt;/a&gt; by Keith Patton and a great discussion of &lt;a href="http://blogs.rev-net.com/ddewinter/2009/05/31/linq-expression-trees-and-the-specification-pattern/"&gt;LINQ Expression Trees and the Specification Pattern&lt;/a&gt; by the EF team’s own David DeWinter.&lt;/p&gt;  &lt;p&gt;- Danny&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9689907" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dsimmons/archive/tags/Entity+Framework/default.aspx">Entity Framework</category><category domain="http://blogs.msdn.com/dsimmons/archive/tags/DDD/default.aspx">DDD</category><category domain="http://blogs.msdn.com/dsimmons/archive/tags/Web+Services/default.aspx">Web Services</category></item><item><title>Non-scalar Value Objects aka "Complex Types"</title><link>http://blogs.msdn.com/dsimmons/archive/2007/06/16/non-scalar-value-objects-aka-complex-types.aspx</link><pubDate>Sun, 17 Jun 2007 01:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3346976</guid><dc:creator>dsimmons@microsoft.com</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/dsimmons/comments/3346976.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dsimmons/commentrss.aspx?PostID=3346976</wfw:commentRss><description>&lt;P&gt;Yesterday there was&amp;nbsp;a &lt;A class="" title="post on the ADO.Net Orcas forum" href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1738003&amp;amp;SiteID=1" mce_href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1738003&amp;amp;SiteID=1"&gt;post on the ADO.Net Orcas forum&lt;/A&gt; asking if it is possible to map two entities to a single row in a single table using the entity framework.&amp;nbsp; The motivation/scenario behind this request was an entity which had an address as part of its properties plus the fact that there were other entity types which have very similar properties.&amp;nbsp; The default mapping generated by the wizard just adds these as properties of the entity, but the preferred model would be that the entity has a property which is another class that groups the address properties together.&amp;nbsp; That class would then be shared and used to model the address properties on other entity types as well.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;The initial expectation of the person asking the question was that the address should be modeled as an entity type of its own, but they ran into two problems:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The address type doesn't have any appropriate property (or properties) to be its key.&lt;BR&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Even if you did have appropriate properties for the key, the system doesn't let you map two entities to the same row in the same table.&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;The moment I saw this post, I was reminded of a discussion I had with Atul Adya early on in the entity framework project when we were trying to decide whether or not to support a modelling concept we call "complex types".&amp;nbsp; Initially we had hoped not to introduce another modelling concept--aren't scalars, entities and relationships enough?&amp;nbsp; Atul's viewpoint on the matter was: "If we don't support complex types, then someday, someone is going to ask us to map two entities to the same row in the database, and we won't ever be able to support that."&amp;nbsp; Well, here we are.&amp;nbsp; At the moment the EF CTPs do not support complex types, and as a result someone has asked for the other feature Atul was referring to (two entities mapped to the same row) which we just can't support. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Why can't we support two entities mapped to the same row?&amp;nbsp; Well, first off the lack of a&amp;nbsp;property or properties that can be the key is fundamental.&amp;nbsp; Secondly, if you think about it, what would insert and delete operations that affect one but not both of the entities in a row really mean?&amp;nbsp; Things get crazy really quick.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;So the answer is to make sure the EDM supports the idea of complex types which Eric Evans calls value objects in his &lt;U&gt;Domain Driven Design&lt;/U&gt; book.&amp;nbsp; They have no identity on their own--their identity is slaved to the entity of which they are a part, but they do get their own class where you can add methods, validation, etc. and share it among all instances of that value type regardless of which entity they are a part of.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Fortunately, we did decide to implement complex types, and they will appear in an upcoming CTP.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;- Danny&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3346976" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dsimmons/archive/tags/Entity+Framework/default.aspx">Entity Framework</category><category domain="http://blogs.msdn.com/dsimmons/archive/tags/ADO.Net/default.aspx">ADO.Net</category><category domain="http://blogs.msdn.com/dsimmons/archive/tags/DDD/default.aspx">DDD</category></item><item><title>Persistence Ignorance: OK, I think I get it now.</title><link>http://blogs.msdn.com/dsimmons/archive/2007/06/02/persistence-ignorance-ok-i-think-i-get-it-now.aspx</link><pubDate>Sat, 02 Jun 2007 07:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3037267</guid><dc:creator>dsimmons@microsoft.com</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/dsimmons/comments/3037267.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dsimmons/commentrss.aspx?PostID=3037267</wfw:commentRss><description>&lt;P&gt;Let me apologize up front for how long it has taken me to get back to &lt;A class="" title="this topic" href="http://blogs.msdn.com/dsimmons/archive/2007/03/28/a-delay-before-i-write-more-about-persistence-ignorance.aspx" target=_blank mce_href="http://blogs.msdn.com/dsimmons/archive/2007/03/28/a-delay-before-i-write-more-about-persistence-ignorance.aspx"&gt;this topic&lt;/A&gt;.&amp;nbsp; What I can say, though, is that in the intervening interval I have devoted real time to studying agile design principles and domain driven design.&lt;/P&gt;
&lt;P&gt;Initially I thought that some of the requests for *complete* persistence ignorance were the products just of dogma rather than fully informed and reasoned arguments, but when so many people give such passionate feedback it was clear that I needed to investigate more before I could claim to have any sort of an informed opinion.&amp;nbsp; The product of my research is that I am now truly convinced of the importance of complete persistence ignorance for some scenarios.&amp;nbsp; As a result, the team is now working on a series of product changes aimed at ensuring that a later move to complete persistence ignorance will not be a fundamental breaking change.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There's no question, though, that complete persistence ignorance comes at a price--both in the performance of applications built with "pure POCO", persistence ignorant domain models and as a result in the complexity of the entity framework which enables them.&amp;nbsp; The additional complexity of the framework is not just about enabling such applications to function but a product of the fact that the performance degradation which results means that the framework must support a spectrum of flexible options between complete persistence ignorance on one hand and prescriptive architectures which build some persistence information into the domain model to improve performance on the other hand.&lt;/P&gt;
&lt;P&gt;To make this more concrete, we have identified 4 elements of the existing entity framework design which block persistence ignorance.&amp;nbsp; That is, 4 ways in which entities are currently required to have knowledge of the framework:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;They must store a copy of an EntityKey.&lt;/LI&gt;
&lt;LI&gt;They must provide change tracking notifications through a prescriptive interface.&lt;/LI&gt;
&lt;LI&gt;They must be decorated with a series of attributes which provide additional metadata.&lt;/LI&gt;
&lt;LI&gt;If they participate in relationships, the requirements are even more stringent as indicated by the requirement to implement the interface&amp;nbsp;IEntityWithRelationships.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;The first two requirements are enforced with the IEntity interface and must be addressed if we are to enable persistence ignorance at any point in the future.&amp;nbsp; In fact a series of key object services APIs currently .&amp;nbsp; At the same time each of these has significant performance implications.&amp;nbsp; Choosing not to store EntityKeys on the entities, for instance, means that navigating from an entity to the ObjectStateEntry&amp;nbsp;which matches it either requires a brute-force search of the ObjectStateManager or for the ObjectStateManager to maintain a dictionary mapping from CLR reference to ObjectStateEntry which is a significnat expense.&amp;nbsp; Not supporting the change tracking mechanism means that the ObjectStateManager must cache a copy of the original values for each entity (all original values and they must be cache whether or not the entity is modified).&lt;/P&gt;
&lt;P&gt;While I do believe that there are circumstances in which the loss of performance is a reasonable tradeoff for persistence ignorance, I also believe that for a great many applications, even where persistence ignorance is highly valued, there will come a time in the performance tuning process when one or another of these two compromises must be made.&amp;nbsp; As a result, we are working on replacing IEntity with two separate interfaces and making both of them optional--which means the object services API signatures will change from taking parameters of type IEntity to type "object" and the framework must support multiple mechanisms for each of these.&lt;/P&gt;
&lt;P&gt;The 3rd and 4th issues are, on the one hand, harder to correct, but on the other hand things which can be corrected later.&amp;nbsp; At some point we will add an alternative mechanism for specifying metadata about the entity objects (thus freeing us from the hard requirement for attributes).&amp;nbsp; Similarly, we can envision ways to enable POCO collection and reference mechanisms for relationships which can be added later as a complement to the existing prescriptive EntityCollection&amp;lt;T&amp;gt;, EntityReference&amp;lt;T&amp;gt; and RelationshipManager classes.&lt;/P&gt;
&lt;P&gt;So, to sum it all up, message received: persistance ignorance is needed, and we're now working to deliver it.&amp;nbsp; The first release of the entity framework likely will not have full support for it (there's just not enough time), but we will work to get into the first release the key changes which could not be made later so that the stage is set for the next release.&lt;/P&gt;
&lt;P&gt;- Danny&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3037267" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dsimmons/archive/tags/Entity+Framework/default.aspx">Entity Framework</category><category domain="http://blogs.msdn.com/dsimmons/archive/tags/ADO.Net/default.aspx">ADO.Net</category><category domain="http://blogs.msdn.com/dsimmons/archive/tags/DDD/default.aspx">DDD</category><category domain="http://blogs.msdn.com/dsimmons/archive/tags/Agile/default.aspx">Agile</category></item><item><title>Where’s the model?  Is it the code or something else?</title><link>http://blogs.msdn.com/dsimmons/archive/2007/05/04/where-s-the-model-is-it-the-code-or-something-else.aspx</link><pubDate>Fri, 04 May 2007 09:24:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2388351</guid><dc:creator>dsimmons@microsoft.com</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/dsimmons/comments/2388351.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dsimmons/commentrss.aspx?PostID=2388351</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;A few weeks ago I had a very interesting email exchange with &lt;A href="http://codebetter.com/blogs/jeffrey.palermo/"&gt;Jeffrey Palermo&lt;/A&gt; in which he raised some important questions about the Entity Framework.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Here’s an excerpt from his original query (used by permission):&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;I've been thinking a lot about the model of the problem domain for a piece of software and the question of "what is the model".&amp;nbsp; In domain driven design, the domain model in code is the canonical representation of the thoughts and concepts of the business domain (the model).&amp;nbsp; Even so, the code is a very good _representation_ or _translation_ of the model as discussed by business analysts (it encorporates the concepts (entities) and behavior and rules of the business domain).&amp;nbsp; The database schema is another translation of this model, but only geared toward storage of the concepts or entities.&amp;nbsp; The behavior is absent here, just storage (for the most part).&amp;nbsp; &lt;BR&gt;&lt;BR&gt;This new EDM concept your team is introducing seems to be aimed at being the new canonical representation of the model.&amp;nbsp; Here, there is an Xml file which describes the model or _represents_ the model, but is not the model itself.&amp;nbsp; I remember when UML was really big, and folks were calling that the model.&amp;nbsp; It could be described so well that it was called the model and all else was secondary.&amp;nbsp; In the end, the UML wasn't executable, wasn't verifyable and wasn't testable, so it lost mindshare because when it came to working software that handled the business domain correctly, it still didn't deliver.&amp;nbsp; There were tools that sought to generate software from the UML, but again, it didn't work. &lt;BR&gt;&lt;BR&gt;I'm having a problem with your EDM xml file because I respect history.&amp;nbsp; The Xml file that represents the model:&amp;nbsp; how do we test it?&amp;nbsp; How do I _know_ that it's correct?&amp;nbsp; that is contains the right concepts (entities)?&amp;nbsp; that every bit of it's behavior is correct?&amp;nbsp; That every one of its rules is right? &lt;BR&gt;&lt;BR&gt;I respect the coded domain model so much because it can't lie to me.&amp;nbsp; I run my unit tests, and they pass or fail.&amp;nbsp; I can demonstrate it.&amp;nbsp; I can objectively prove its behavior and rules.&amp;nbsp; The best representation of the model has to work 100%. &lt;BR&gt;&lt;BR&gt;Maybe you've thought about this and have an answer.&amp;nbsp; I've heard said that this new Xml artifact will be called "the model".&amp;nbsp; Is that really the intended noun?&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;My response was that I hear and share concerns about the parallels to UML and the failed efforts of the past to make UML the center of the universe.&amp;nbsp; (I personally think codegen from UML is so evil that I have taken to calling UML "the enemy" not because it's original purpose and ideas are bad—it can be a great tool for doing some sketches to communicate some ideas—but because it has been perverted to evil ends.)&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;We do talk about the EDM for an application as "the model", but that's just a verbal short-hand for "data model", which I believe is a critical distinction.&amp;nbsp; We are explicitly NOT trying to define behavior in the EDM.&amp;nbsp; The code is the right way to define that.&amp;nbsp; We are, however, trying to define enough about the structure and constraints on the data that we can provide a rich set of services in a general fashion that still honor those constraints.&amp;nbsp; If you think about it, this is very much like what the relational model does today vs. just doing your own file format.&amp;nbsp; The relational model allows you to describe some things about the structure of your data so that the database and other parts of the system can provide services which help you manage that data.&amp;nbsp; The idea of the EDM is to provide a higher-level of abstraction that gives more information about the structure of the data so that we can provide more services.&amp;nbsp; This doesn't replace the object model or reduce its critical role; it just augments it with new services.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Once we start generating code from the EDM, things definitely become blurred a bit, but the explicit goal of the generated code is not to replace your object model—it's to save you some typing of repetitive things when you are building that object model.&amp;nbsp; Further, the intent is that we would not require this generated code—you can always build your model completely on your own and just align the EDM with the shape of that model so that you can take advantage of the EDM-enabled services we provide (right now that means persistence/query, but eventually that means other things like reporting, replication, remoting, etc.).&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2388351" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dsimmons/archive/tags/Entity+Framework/default.aspx">Entity Framework</category><category domain="http://blogs.msdn.com/dsimmons/archive/tags/ADO.Net/default.aspx">ADO.Net</category><category domain="http://blogs.msdn.com/dsimmons/archive/tags/DDD/default.aspx">DDD</category></item><item><title>A delay before I write more about persistence ignorance...</title><link>http://blogs.msdn.com/dsimmons/archive/2007/03/28/a-delay-before-i-write-more-about-persistence-ignorance.aspx</link><pubDate>Wed, 28 Mar 2007 06:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1971120</guid><dc:creator>dsimmons@microsoft.com</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/dsimmons/comments/1971120.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dsimmons/commentrss.aspx?PostID=1971120</wfw:commentRss><description>&lt;P&gt;I've promised to write more about persistence ignorance in the Entity Framework, and while waiting for builds during some late night coding binges for a deadline and various other distractions, I've been giving it a lot of thought.&amp;nbsp; My conclusion, though, is that I'm not ready to treat this topic fairly.&amp;nbsp; While I think I understand and have some useful things to say about how the Entity Framework does things (both in Orcas and in our vision for future releases), I don't think I understand the viewpoint of the folks asking for full persistence ignorance well enough yet.&amp;nbsp; As you may have heard in the blogs of some other folks like &lt;A class="" title="Scott Bellware" href="http://codebetter.com/blogs/scott.bellware/archive/2007/03/20/160380.aspx" mce_href="http://codebetter.com/blogs/scott.bellware/archive/2007/03/20/160380.aspx"&gt;Scott Bellware&lt;/A&gt;, &lt;A class="" title="Jeffrey Palermo" href="http://codebetter.com/blogs/jeffrey.palermo/archive/2007/03/15/Linq-to-Entities_3A00_--Microsoft_2700_s-first-go-at-O_2F00_R-Mapping-_2800_they-need-our-feedback-now_21002900_-_2D00_-level-300.aspx" mce_href="http://codebetter.com/blogs/jeffrey.palermo/archive/2007/03/15/Linq-to-Entities_3A00_--Microsoft_2700_s-first-go-at-O_2F00_R-Mapping-_2800_they-need-our-feedback-now_21002900_-_2D00_-level-300.aspx"&gt;Jeffrey Palermo&lt;/A&gt;&amp;nbsp;and &lt;A class="" title="David Laribee" href="http://laribee.com/blog/2007/03/17/linq-to-entities-vs-nhibernate/" mce_href="http://laribee.com/blog/2007/03/17/linq-to-entities-vs-nhibernate/"&gt;David Laribee&lt;/A&gt;, we had some great discussions during the MVP summit about these issues (thanks for the feedback all of you who were there!).&lt;/P&gt;
&lt;P&gt;As you might take away from the blog postings about those discussions, it was a good exchange of ideas, and I think folks left with a sense that the long term vision is not so far off as they preivously thought, but everyone agrees that Orcas won't be a perfect fit for what some folks in the agile/domain-driven-design camp are looking for.&amp;nbsp; While the amount of change that can happen between now and the release of Orcas is very limited, I want to work hard to understand this way of looking at the world deeply both so that we can get on track to converge in a later release and so that we can make certain nothing goes into Orcas that will prevent delivery of that vision later.&lt;/P&gt;
&lt;P&gt;So, I'm taking my own little crash course on the subject which will by no means get me to the depth of understanding that some of you have after living and breathing this approach for multiple projects, but I'm hoping it will get me a bit farther along the curve before I respond on this subject and end up demonstrating my ignorance.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1971120" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dsimmons/archive/tags/Entity+Framework/default.aspx">Entity Framework</category><category domain="http://blogs.msdn.com/dsimmons/archive/tags/ADO.Net/default.aspx">ADO.Net</category><category domain="http://blogs.msdn.com/dsimmons/archive/tags/DDD/default.aspx">DDD</category></item></channel></rss>