<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mindscape Blog &#187; LightSpeed</title>
	<atom:link href="http://www.mindscapehq.com/blog/index.php/category/lightspeed/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mindscapehq.com/blog</link>
	<description>The official blog of Mindscape</description>
	<lastBuildDate>Fri, 03 Feb 2012 01:48:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Nightly news, 3 February 2012</title>
		<link>http://www.mindscapehq.com/blog/index.php/2012/02/02/nightly-news-3-february-2012/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2012/02/02/nightly-news-3-february-2012/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 20:21:54 +0000</pubDate>
		<dc:creator>Ivan Towlson</dc:creator>
				<category><![CDATA[LightSpeed]]></category>
		<category><![CDATA[Web Workbench]]></category>
		<category><![CDATA[WPF Diagrams]]></category>
		<category><![CDATA[WPF Elements]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=4518</guid>
		<description><![CDATA[It&#8217;s the end of another week here at Mindscape HQ and time as usual to check in on what we&#8217;ve shipped in the last seven days. Here&#8217;s what&#8217;s new in the latest nightly builds. WPF Elements Added handling for race conditions in DataGrid.BringCellIntoView and DataGrid.GetCell Fixed a bug in DataGrid.RemoveInputBinding Added DataGridColumn.AllowGrouping property, which allows [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s the end of another week here at Mindscape HQ and time as usual to check in on what we&#8217;ve shipped in the last seven days.  Here&#8217;s what&#8217;s new in the latest nightly builds.</p>
<p><a href="http://www.thepoke.co.uk/2011/11/29/23-legendary-album-covers-in-lego/?pid=6382"><img src="http://cdn.mindscapehq.com/blog/wp-content/uploads/2012/02/DeveloperNotes21.png" alt="" title="Well, Debbie Harry has certainly gone to seed.  And turned bright yellow" width="344" height="64" class="alignleft size-full wp-image-4519" /></a></p>
<p><strong>WPF Elements</strong></p>
<ul>
<li>Added handling for race conditions in DataGrid.BringCellIntoView and DataGrid.GetCell</li>
<li>Fixed a bug in DataGrid.RemoveInputBinding</li>
<li>Added DataGridColumn.AllowGrouping property, which allows you to specify that the user cannot group on that column</li>
<li>You can now template DataGrid group row headers</li>
</ul>
<p><strong>Web Workbench</strong></p>
<ul>
<li>Highlighting for Less pattern matching and guards</li>
<li>Fix for file generation error when using checkout-based source control system</li>
<li>Updated Less compiler to 1.2.1</li>
<li>Improved positioning of opening braces during Format Document</li>
<li>Fix for error with unbounded node (e.g. unclosed quote) in CoffeeScript</li>
</ul>
<p><strong>LightSpeed</strong></p>
<ul>
<li>Apply COLLATE NOCASE when creating SQLite GUID primary keys</li>
<li>Fixes relating to one-way associations when the originating side is a concrete table inheritance base class</li>
<li>Fixed migrations error with abstract classes</li>
</ul>
<p><strong>WPF Diagrams</strong></p>
<ul>
<li>Tweak to the ElbowPathfinder</li>
</ul>
<p>As always the free editions are available on the <a href="http://www.mindscapehq.com/downloads/">downloads page</a> and you can get the full editions from the <a href="http://www.mindscapehq.com/store/myaccount">store</a>.  Happy coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2012/02/02/nightly-news-3-february-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Entity Framework vs. LightSpeed</title>
		<link>http://www.mindscapehq.com/blog/index.php/2012/01/30/entity-framework-vs-lightspeed/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2012/01/30/entity-framework-vs-lightspeed/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 04:02:55 +0000</pubDate>
		<dc:creator>John-Daniel Trask</dc:creator>
				<category><![CDATA[LightSpeed]]></category>
		<category><![CDATA[Entity Framework]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=4446</guid>
		<description><![CDATA[Recently there was an article posted on InfoQ about the seven most requested features in the Entity Framework. We at Mindscape love the Entity Framework &#8211; it&#8217;s the best sales tool for LightSpeed that there could be! We decided to walk through the list and see how LightSpeed compares. Improved SQL generation EF Status: Planned, [...]]]></description>
			<content:encoded><![CDATA[<p>Recently there was <a href="http://www.infoq.com/news/2012/01/ef-feature-requests">an article posted on InfoQ about the seven most requested features in the Entity Framework</a>. We at Mindscape love the Entity Framework &#8211; it&#8217;s the best sales tool for LightSpeed that there could be! We decided to walk through the list and see how LightSpeed compares.</p>
<p><strong>Improved SQL generation</strong><br />
EF Status: Planned, but only some improvements<br />
LightSpeed: Already miles ahead, always improving</p>
<p>Now, to be fair, querying is really hard to get right and there are always cases that can always be improved. I&#8217;m sure every O/R Mapper out there has at least a few queries that they generate in a non-optimal way (yes, including LightSpeed) &#8212; but I think we can all agree than <a href="http://data.uservoice.com/forums/72025-ado-net-entity-framework-ef-feature-suggestions/suggestions/1050527-improved-sql-generation">5,000 line SQL queries from 5 lines of LINQ is a bit on the insane side</a>. </p>
<p><strong>Batch support</strong><br />
EF Status: Under review<br />
LightSpeed: Since version 1 in 2007</p>
<p>LightSpeed is about being a full ORM but with as much speed as possible. We built in batching of inserts, updates and deletes from day one, not to mention batching on the select side to enable entire aggregates to be loaded in a single database access.  <a href="http://www.mindscapehq.com/documentation/lightspeed/Performance-and-Tuning/Batching">LightSpeed automatically batches up CUD statements</a>, reducing the number of database accesses for large updates by a factor of 10 or more.</p>
<p>By the way, LightSpeed also supports <a href="http://www.mindscapehq.com/documentation/lightspeed/Performance-and-Tuning/Bulk-Updates-and-Deletes">bulk updates and deletes</a>, so if you have a raw database update that doesn&#8217;t need the business logic and domain-specific API of your entity mode, you don&#8217;t even need to load entities into memory to perform the update or delete them.</p>
<p><strong>Support for a second level cache</strong><br />
EF Status: Under review<br />
LightSpeed: Since version 1 in 2007, pluggable, ships with standard cache and memcached support</p>
<p><a href="http://www.mindscapehq.com/documentation/lightspeed/Performance-and-Tuning/Caching">LightSpeed supports a first and second level cache</a> and has always done so. A second level cache improves speed and reduces load when you have entities that rarely change (such as reference data), or when it&#8217;s not essential to have up-to-the-microsecond data. Caching is an essential element of a performance tuning strategy and we don&#8217;t think you should have to <a href="http://msdn.microsoft.com/hi-in/magazine/hh394143(en-us).aspx">hack the underlying ADO.NET stack</a> to get it.</p>
<p>Between inefficient selects, inefficient CUD and no second level caching, performance certainly is not a criteria that you&#8217;ll achieve with EF.</p>
<p><strong>Support for multiple databases</strong><br />
EF Status: Under review<br />
LightSpeed: Not planned</p>
<p>Would you believe we actually don&#8217;t support this either? Developers seem fairly keen to not want to touch their database for things like database spanning but it&#8217;s our view that this is not an ORM concern. If you need linked servers and other cool features like that then you should look at how the database engine can support this, not your mapper.</p>
<p>Note: Support for multiple databases as requested by EF users is for spanning databases not about database engine support. LightSpeed supports 9 different database engines out of the box.</p>
<p><strong>Support for models with >200 entities</strong><br />
EF Status: Use several models (read: not planned or under review).<br />
LightSpeed: Supported, and include multi-model file support.</p>
<p>When we released the <a href="http://www.mindscapehq.com/products/lightspeed/lightspeed-designer">LightSpeed Designer</a> initially we were pleased with it &#8211; really nice looking, smart database diffing, etc. Then, Murphy&#8217;s Law: a user had a database with 2,000 tables! Not surprisingly, it was a tad slow working with that many entities on the design surface. We shipped a nightly build within 48 hours that made the designer lightning fast for this user and they never looked back. That was several years ago.</p>
<p>Of course, even eliminating performance concerns, working with that many entities can still be difficult.  Computer screens are only so big, so it&#8217;s hard to visualise very large models.  We&#8217;ve done a number of things to help with this, from <a href="http://www.mindscapehq.com/blog/index.php/2010/12/07/lightspeed-now-available-in-chartreuse/">entity colouring</a> to pick out key entities or group related entities, to <a href="http://www.mindscapehq.com/documentation/lightspeed/Working-with-Models-in-the-Visual-Designer/Linked-Models">multi-file models</a>, to <a href="http://www.mindscapehq.com/documentation/lightspeed/Working-with-Models-in-the-Visual-Designer/Custom-Views">navigation and filtering</a> to locate the part of the model you need to work on and hide all the extraneous noise.  You can even save the most common views and switch between them with just a couple of clicks.  So we&#8217;re confident that even if you&#8217;re working with large models, the <a href="http://www.mindscapehq.com/products/lightspeed/lightspeed-designer">LightSpeed designer</a> will still give you the best experience around.</p>
<p><strong>Designer support for GUID keys</strong><br />
EF Status: Use a workaround of <a href="http://leedumond.com/blog/using-a-guid-as-an-entitykey-in-entity-framework-4/">editing EDMX by hand</a>. Changes to model mean you repeat the process again.<br />
LightSpeed: Supported since day 1 with the LightSpeed Designer.</p>
<p>Seriously, how do you even miss this out? I guess if supporting enums seemed a bit hard than GUID keys must seem like crazy talk.</p>
<p><strong>Schema Migration</strong><br />
EF Status: Currently in beta<br />
LightSpeed: Added in 2009.</p>
<p>LightSpeed includes a powerful schema migration product. Including Visual Studio integration, server tools and the ability to switch database engine targets, you&#8217;ll struggle to find a better schema migrations framework for .NET. <a href="http://www.mindscapehq.com/blog/index.php/2009/12/15/getting-started-with-lightspeed-migrations/">Read more about schema migrations that were included in 2009</a>.</p>
<p>We&#8217;re constantly improving the cabilities of the migrations engine based on user feedback as well.</p>
<p>So why would you choose to use EF? Here&#8217;s a couple of common counter arguments for using EF:</p>
<p><strong>&#8220;It&#8217;s Microsoft &#8211; it will get better!&#8221;</strong><br />
Sure it will, maybe in five years time. Unfortunately your software needs to be written today, not in five years. Microsoft also has a really bad history of killing data access technologies so I&#8217;d be more concerned that the improvement will be to throw out EF and start again. And honestly, how <em>much</em> better do you think it will be in five years time? The pace of improvement so far has been glacial, and of these seven most requested items, only two are being worked on currently.</p>
<p><strong>&#8220;Entity Framework is free &#8211; LightSpeed isn&#8217;t!&#8221;</strong><br />
It&#8217;s true that our <a href="http://www.mindscapehq.com/products/lightspeed/download">free edition of LightSpeed</a> is only for small databases. If you think your solution doesn&#8217;t require good performance, nightly updates, a responsive support offering or solid foundations then by all means, lock in Entity Framework. We can guarantee you that you&#8217;ll waste more money fighting in the weaknesses with the Entity Framework than you would have ever spent getting a LightSpeed license.  EF is only free if your time is worthless.</p>
<p><strong>That&#8217;s a wrap</strong></p>
<p>We&#8217;ve got a lot of friends in Redmond, and we think a bit of rivalry is good for everyone, as well as a bit of fun. And we know that there are a few popular feature requests for LightSpeed that have been outstanding for a while too! But we do feel quite seriously that it&#8217;s important for developers to make an informed choice about their tools.  Because Entity Framework ships in Visual Studio, it&#8217;s easy for it to become a de facto choice, without considering the alternatives.</p>
<p>But if you like knowing that if you run into an issue you can get help directly from the developers then <a href="http://www.mindscapehq.com/products/lightspeed/download">choose LightSpeed</a>. If you like getting nightly builds with not just bug fixes but cool new features then <a href="http://www.mindscapehq.com/products/lightspeed/download">choose LightSpeed</a>. If you like your data access to be fast then <a href="http://www.mindscapehq.com/products/lightspeed/download">choose LightSpeed</a>. If you would like to use a more mature, more powerful and, frankly, more loved ORM then give it a go &#8212; <a href="http://www.mindscapehq.com/products/lightspeed/download">grab the free version of LightSpeed and see what you think</a>. We&#8217;d love to hear your feedback!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2012/01/30/entity-framework-vs-lightspeed/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Nightly news, 27 January 2012</title>
		<link>http://www.mindscapehq.com/blog/index.php/2012/01/26/nightly-news-27-january-2012/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2012/01/26/nightly-news-27-january-2012/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 20:11:59 +0000</pubDate>
		<dc:creator>Ivan Towlson</dc:creator>
				<category><![CDATA[LightSpeed]]></category>
		<category><![CDATA[WPF Diagrams]]></category>
		<category><![CDATA[WPF Elements]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=4431</guid>
		<description><![CDATA[The big news in this week&#8217;s nightly builds is the new hotness in the WPF Elements DataGrid. Grouping, exporting, new APIs and, well, grouping again because it&#8217;s so neat &#8212; check it out! Of course, we&#8217;ve got a bunch of other updates for you as well. Here&#8217;s what&#8217;s new this week. LightSpeed Exclude null associations [...]]]></description>
			<content:encoded><![CDATA[<p>The big news in this week&#8217;s nightly builds is the new hotness in the WPF Elements DataGrid.  Grouping, exporting, new APIs and, well, grouping again because it&#8217;s so neat &#8212; <a href="http://www.mindscapehq.com/blog/index.php/2012/01/25/fresh-wpf-elements-5-features-datagrid-grouping-and-exporting/">check it out</a>!  Of course, we&#8217;ve got a bunch of other updates for you as well.  Here&#8217;s what&#8217;s new this week.</p>
<p><a href="http://www.buzzfeed.com/daves4/12-extremely-disappointing-facts-about-popular-mus"><img src="http://cdn.mindscapehq.com/blog/wp-content/uploads/2012/01/DeveloperNotes21.png" alt="" title="How about this one?  Have I used this one?" width="344" height="64" class="alignleft size-full wp-image-4432" /></a></p>
<p><strong>LightSpeed</strong></p>
<ul>
<li>Exclude null associations from polymorphic association validation
</li>
<li>Fix for not being able to return array values from ICompiledParameterValues to populate an IN clause
</li>
<li>Fix for LINQ projection that included the result of a Count on a join-into result when there was no Where clause
</li>
<li>When updating a SQLite database with a GUID field, set COLLATE NOCASE on the column (because it is mapped as a string rather than a native GUID type)
</li>
<li>Added support for per-table identity block size (for when new tables use KeyTable but the database also contains legacy tables which are also updated by other apps using increment-by-1 sequences)
</li>
</ul>
<p><strong>WPF Diagrams</strong></p>
<ul>
<li>DiagramConnectionPointBase.OnPositionChanged is now exposed to user derived classes
</li>
<li>Fixed a bug in the ConnectionPointRelocation sample
</li>
</ul>
<p><strong>WPF Elements</strong></p>
<ul>
<li>DataGrid hotness!
</li>
<li>Fixed a bug in TimeExplorer
</li>
</ul>
<p>As usual, you can get the updated builds of free versions from the <a href="http://www.mindscapehq.com/downloads/">downloads page</a>, and of full versions from the <a href="http://www.mindscapehq.com/store/myaccount">store</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2012/01/26/nightly-news-27-january-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nightly news, 20 January 2012</title>
		<link>http://www.mindscapehq.com/blog/index.php/2012/01/19/nightly-news-20-january-2012/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2012/01/19/nightly-news-20-january-2012/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 20:41:11 +0000</pubDate>
		<dc:creator>Ivan Towlson</dc:creator>
				<category><![CDATA[LightSpeed]]></category>
		<category><![CDATA[NHibernate Designer]]></category>
		<category><![CDATA[SimpleDB Management Tools]]></category>
		<category><![CDATA[Web Workbench]]></category>
		<category><![CDATA[WPF Diagrams]]></category>
		<category><![CDATA[WPF Elements]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=4345</guid>
		<description><![CDATA[Cripes! Weeks and weeks of updates to catch up on! Here&#8217;s what&#8217;s new in the nightly builds since the last update. LightSpeed Fix for one-to-one association join chain in LINQ Where clauses Added support for negated boolean expressions in LINQ Any and All Fixed a memory leak with compiled FindById queries Validation errors now provide [...]]]></description>
			<content:encoded><![CDATA[<p>Cripes!  Weeks and weeks of updates to catch up on!  Here&#8217;s what&#8217;s new in the nightly builds since the last update.</p>
<p><a href="http://www.headinjurytheater.com/article73.htm"><img src="http://cdn.mindscapehq.com/blog/wp-content/uploads/2012/01/DeveloperNotes2.png" alt="" title="And I can no longer remember which easter eggs I&#039;ve already used" width="344" height="64" class="alignleft size-full wp-image-4346" /></a></p>
<p><strong>LightSpeed</strong></p>
<ul>
<li>Fix for one-to-one association join chain in LINQ Where clauses
</li>
<li>Added support for negated boolean expressions in LINQ Any and All
</li>
<li>Fixed a memory leak with compiled FindById queries
</li>
<li>Validation errors now provide access to the validation rule instance
</li>
<li>Include schema in auto-joined tables being joined by an identifier expression
</li>
<li>Fixed automatic date-time range validation for Oracle
</li>
<li>Improved support for SQL Server 2008 TIME data type
</li>
<li>Fixed an issue where a query with criteria on the left and a logical combination on the right could be processed incorrectly
</li>
<li>Fix for DeletedOn column being incorrectly aliased in update/delete queries
</li>
<li>Added support for deleting by LINQ query
</li>
<li>Added Procedure and Scale options to ProcedureParameter class
</li>
<li>Fix for procedure parameters of user-defined types in designer being generated into wrapper function signatures as object instead of strongly typed
</li>
<li>Fix for value objects not being handled correctly in batch updates
</li>
<li>Fixed exception if you put DiscriminatorAttribute on a root entity class
</li>
<li>We now raise an exception if a SQL Server stored procedure calls RAISERROR (sic: what is this, guys, Fortran?) <em>after</em> performing a successful SELECT (previously only errors raised before the SELECT would cause exceptions)
</li>
<li>Added a property for migration code to access the connection string of the database being migrated
</li>
<li>When a stored procedure sets an out parameter to SQL NULL, we now translate this to CLR null instead of leaving it as DBNull.Value (this fixes casting errors in strong-typed wrapper methods)
</li>
<li>Fix for virtual (non-mapped) discriminators not being populated on insert
</li>
<li>Entity- and interface-level query filtering (in progress and subject to change)
</li>
</ul>
<p><strong>Web Workbench</strong></p>
<ul>
<li>Collapsing support for non-top-level regions
</li>
<li>Sass and Less Format Document command
</li>
<li>Fixed issue in Sass compilation if install path included non-ANSI characters
</li>
<li>Fixed JavaScript minifier mangling non-ANSI characters
</li>
<li>Upgraded CoffeeScript compiler to 1.2.0
</li>
<li>CoffeeScript comment highlighting fixes
</li>
<li>Comment/uncomment block support
</li>
<li>Performance improvements when making many deletes from a document
</li>
<li>Error checking and signature help for Sass and Less built-in functions
</li>
</ul>
<p><strong>WPF Elements<br />
</strong></p>
<ul>
<li>Continuing improvements to control themes
</li>
<li>Fixes for potential issues in TimeExplorer, Chart, ChartAxis and PieSeries
</li>
<li>Added option for rounding on lost focus in NumericTextBox
</li>
<li>Added ResetZoom command for charts
</li>
<li>MajorTickSpacing now keeps consistent tick density as user zooms
</li>
<li>Added PieSeries.SelectedDataPointChanged event
</li>
<li>Improvements to automatic bar chart width calculation
</li>
<li>Fixed error when changing chart highlight mode
</li>
<li>Fixed an issue with horizontal bar charts using categories along the Y axis
</li>
<li>Resolved a DataGrid issue
</li>
<li>Fixed foreground colours not being respected in CurrencyTextBox
</li>
<li>Fixed potential null reference error when changing DataGrid.ItemsSource
</li>
<li>Fixed some issues with chart default axes
</li>
</ul>
<p><strong>WPF Diagrams</strong></p>
<ul>
<li>Added TreeLayoutAlgorithm
</li>
<li>Fixed null reference error in ConnectionPointThumb
</li>
<li>Fixed a diagram binding issue
</li>
<li>Fix for a bug that was stealing mouse wheel and scroll events
</li>
<li>Added an option to turn off infinite scrolling
</li>
</ul>
<p><strong>NHibernate Designer</strong></p>
<ul>
<li>Added support for NHibernate sql-insert, sql-update and sql-delete overrides
</li>
<li>Added support for stored procedures and named SQL queries
</li>
</ul>
<p><strong>SimpleDB Management Tools</strong></p>
<ul>
<li>No longer need to click away from a row to ensure it is saved</li>
</ul>
<p>As usual you can get the latest nightly builds from the <a href="http://www.mindscapehq.com/downloads/">Downloads page</a> (free editions) or the <a href="http://www.mindscapehq.com/store/myaccount">store</a> (full editions).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2012/01/19/nightly-news-20-january-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kick start 2012 with this special offer!</title>
		<link>http://www.mindscapehq.com/blog/index.php/2012/01/12/kick-start-2012-with-this-special-offer/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2012/01/12/kick-start-2012-with-this-special-offer/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 08:36:04 +0000</pubDate>
		<dc:creator>John-Daniel Trask</dc:creator>
				<category><![CDATA[LightSpeed]]></category>
		<category><![CDATA[MegaPack]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[NHibernate Designer]]></category>
		<category><![CDATA[Phone Elements]]></category>
		<category><![CDATA[Products]]></category>
		<category><![CDATA[Silverlight Elements]]></category>
		<category><![CDATA[SimpleDB Management Tools]]></category>
		<category><![CDATA[Web Workbench]]></category>
		<category><![CDATA[WPF Diagrams]]></category>
		<category><![CDATA[WPF Elements]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=4262</guid>
		<description><![CDATA[Make building better software your New Year&#8217;s resolution by taking advantage of our 30% sale on the Mega Pack. For a limited time, pay only $699 and you&#8217;ll receive: LightSpeed O/R Mapper (normally $349) WPF Elements (normally $699) WPF Diagrams (normally $699) Silverlight Elements (normally $699) Phone Elements for WP7 (normally $299) NHibernate Designer (normally [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mindscapehq.com/productive-2012"><img src="http://cdn.mindscapehq.com/blog/wp-content/uploads/2012/01/JanuarySaleBlogImage.jpg" alt="Get 9 products for an amazing price" title="Get 9 products for an amazing price" width="718" height="450" class="alignnone size-full wp-image-4263" /></a></p>
<p>Make building better software your New Year&#8217;s resolution by <a href="http://www.mindscapehq.com/productive-2012">taking advantage of our 30% sale on the Mega Pack</a>.</p>
<p>For a limited time, pay only $699 and you&#8217;ll receive:</p>
<ul>
<li><a href="http://www.mindscapehq.com/products/lightspeed">LightSpeed O/R Mapper</a> <span style="color: rgb(192, 192, 192); ">(normally $349)</span></li>
<li><a href="http://www.mindscapehq.com/products/wpfelements">WPF Elements</a> <span style="color: rgb(192, 192, 192); ">(normally $699)</span></li>
<li><a href="http://www.mindscapehq.com/products/wpfdiagrams">WPF Diagrams</a> <span style="color: rgb(192, 192, 192); ">(normally $699)</span></li>
<li><a href="http://www.mindscapehq.com/products/silverlightelements">Silverlight Elements</a> <span style="color: rgb(192, 192, 192); ">(normally $699)</span></li>
<li><a href="http://www.mindscapehq.com/products/phone-elements">Phone Elements for WP7</a> <span style="color: rgb(192, 192, 192); ">(normally $299)</span></li>
<li><a href="http://www.mindscapehq.com/products/nhdesigner">NHibernate Designer</a> <span style="color: rgb(192, 192, 192); ">(normally $99)</span></li>
<li><a href="http://www.mindscapehq.com/products/simpledbtools">SimpleDB Management Tools</a> <span style="color: rgb(192, 192, 192); ">(normally $29)</span></span></li>
<li><a href="http://www.mindscapehq.com/products/web-workbench">Web Workbench</a> <span style="color: rgb(192, 192, 192); ">(normally $29)</span></li>
<li><a href="http://www.mindscapehq.com/products/sharepointtools">Visual Tools for SharePoint</a> <span style="color: rgb(192, 192, 192); ">(normally $349)</span></li>
</ul>
<p>Plus, you also get:</p>
<ul>
<li>12 months of new releases, nightly builds and new products!</li>
<li>The best support in the business!</li>
</ul>
<p>Imagine that &#8211; a full range of developer tools across WPF, Silverlight, Windows Phone, Data Access, Web Development and Domain Modeling for just $699!</p>
<p>So, save thousands of dollars by getting all your tools at once with our 30% off Mega Pack Special now.</p>
<p>Hurry, promotion ends 1 Feb 2012!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2012/01/12/kick-start-2012-with-this-special-offer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nightly news, 9 December 2011</title>
		<link>http://www.mindscapehq.com/blog/index.php/2011/12/07/nightly-news-9-december-2011/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2011/12/07/nightly-news-9-december-2011/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 03:48:52 +0000</pubDate>
		<dc:creator>Ivan Towlson</dc:creator>
				<category><![CDATA[LightSpeed]]></category>
		<category><![CDATA[Nightly news]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=3988</guid>
		<description><![CDATA[The big news this week is the release of WPF Elements 5.0. We&#8217;ll have a post up in a moment to let you know what&#8217;s new and what&#8217;s hot, so stand by to give it a go! Of course, even with our heads down on WPF Elements 5.0, we&#8217;ve still got updates to our other [...]]]></description>
			<content:encoded><![CDATA[<p>The big news this week is the release of <a href="http://www.mindscapehq.com/products/wpfelements">WPF Elements 5.0</a>.  We&#8217;ll have a post up in a moment to let you know what&#8217;s new and what&#8217;s hot, so stand by to give it a go!</p>
<p>Of course, even with our heads down on WPF Elements 5.0, we&#8217;ve still got updates to our other products.  Here&#8217;s what&#8217;s new in this week&#8217;s nightly builds.</p>
<p><a href="http://www.wired.com/wiredscience/2011/12/the-right-and-wrong-way-to-die-when-you-fall-into-lava/"><img src="http://cdn.mindscapehq.com/blog/wp-content/uploads/2011/12/DeveloperNotes2.png" alt="" title="Because this is something you wouldn&#039;t want to get wrong" width="344" height="64" class="alignleft size-full wp-image-3990" /></a></p>
<p><strong>LightSpeed</strong></p>
<ul>
<li>Fix for joining of class table inheritance base class in certain eager load queries</li>
<li>Fix for issue with descending order in a wrapped distinct query for databases that use ROW_NUMBER-style paging</li>
<li>Fixes for migrations spuriously trying to recreate auto through entities and one-to-one associations which had not changed</li>
</ul>
<p>Usual rules apply: <a href="http://www.mindscapehq.com/downloads/">free editions available from the downloads page</a>, <a href="http://www.mindscapehq.com/store/myaccount">full editions from the store</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2011/12/07/nightly-news-9-december-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 reasons not to use a micro ORM</title>
		<link>http://www.mindscapehq.com/blog/index.php/2011/12/05/5-reasons-not-to-use-a-micro-orm/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2011/12/05/5-reasons-not-to-use-a-micro-orm/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 07:53:40 +0000</pubDate>
		<dc:creator>John-Daniel Trask</dc:creator>
				<category><![CDATA[LightSpeed]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=3956</guid>
		<description><![CDATA[If you haven&#8217;t come across the concept of a &#8220;micro-ORM,&#8221; it refers to a currently fashionable category of data mapping tools which take a minimalist approach to mapping between the database and object worlds. Typically the focus is on materializing a data reader row to a class. That&#8217;s the key functionality although features do vary. [...]]]></description>
			<content:encoded><![CDATA[<p>If you haven&#8217;t come across the concept of a &#8220;micro-ORM,&#8221; it refers to a currently fashionable category of data mapping tools which take a minimalist approach to mapping between the database and object worlds. Typically the focus is on materializing a data reader row to a class. That&#8217;s the key functionality although features do vary. A developer would typically write inline SQL for the query they wish to run. They are fairly simple, and that&#8217;s their point &#8212; to not have the weight of a fuller featured ORM.</p>
<p>We do get asked by people who have started to hear about micro-ORMs: when would I choose a product like <a href="http://www.mindscapehq.com/products/lightspeed">LightSpeed</a> over a micro-ORM?  Both address the same basic job of mapping between SQL data and in-memory objects, so why use one rather than the other?  So here are some of the times we think you&#8217;d want to use a fully fledged object-relational mapper.</p>
<p><strong>1. You&#8217;re not Stack Overflow</strong></p>
<p>Stack Overflow has become the &#8216;go to&#8217; reference site for micro-ORMs. I mean, if Stack Overflow built a micro-ORM to squeeze out the performance they needed, that means they&#8217;ve got to be good, right? But I&#8217;ll let you in on a secret: you&#8217;re not Stack Overflow.</p>
<p>Stack Overflow is a huge site under extremely heavy load.  That makes their performance tradeoffs entirely different from most sites or applications. Most developers, as long as they&#8217;re not introducing any performance killers, should be focusing on productivity, not on micro-optimising performance. Rather than handwriting SQL and forgoing additional benefits like validation, integrated migrations and many more nice-to-have features to gain the benefits of needing a smaller server farm, most companies find developer productivity is where they can save more money.</p>
<p><strong>2. You&#8217;re not building a throwaway app</strong></p>
<p>Some folks feel that it&#8217;s quicker to get up and running with a micro-ORM than with a full ORM.  And if it&#8217;s quicker to get up and running, that means the micro-ORM is more productive than the full ORM, right?</p>
<p>Well, maybe.  Some ORMs do require quite a bit of configuration or repetitive mapping.  We&#8217;d like to think that LightSpeed isn&#8217;t one of those.  We reckon that with LightSpeed you can be up and running in less than a minute.  Plus you can actually gain time by having LightSpeed create the database schema for you, rather than having to jump across into a database tool.</p>
<p>But fair enough, it does take longer to install LightSpeed than to pull down a micro-ORM via NuGet.  So if you&#8217;re only going to be spending ten or fifteen minutes on your application, then that might be decisive.  But for most realistic applications, the productivity benefits of a full ORM rapidly overtake the time savings of running an installer.</p>
<p><strong>3. You want a domain model</strong></p>
<p>A lot of micro-ORMs are just a class for materializing a database row into an object &#8211; either to a concrete class, or to an anonymous type. ORMs like LightSpeed, NHibernate, LLBLGen etc offer far more than just object materialization. If you want to express business logic, have validation, etc. then you either want a higher-end ORM or you want to spend your time writing a lot of tedious boiler plate code.  And you probably have better things to do with your time than write tedious boilerplate code.</p>
<p>A domain model also pays off when you&#8217;re not the only one working on the project. Encapsulating business logic and validation in the domain model ensures that the business rules apply wherever the objects are used &#8212; you&#8217;re not relying on everyone remembering to apply the latest rules to their bits of the project.  That&#8217;s one of the reasons we stopped using DataTables in the first place, remember?</p>
<p><strong>4. You like LINQ</strong></p>
<p>Most micro-ORMs do not include a LINQ provider. Most in fact require that you write the SQL yourself.  That isn&#8217;t in itself a bad thing, it&#8217;s just taste and portability concerns and, frankly, most people don&#8217;t move database engine anyway. However, a LOT of .NET developers like LINQ.  Many, many more than like SQL. Intellisense, compile-time type checking and compile-time syntax checking combine to make you more productive and to catch errors earlier.</p>
<p>And if you like LINQ, then you&#8217;ll want an ORM with a good LINQ provider. That means the LINQ actually translates to SQL, not a supposed LINQ provider that actually pulls all of your data into memory and then uses LINQ to Objects &#8212; that will throw away any performance gains you thought you&#8217;d be getting from the micro-ORM &#8212; and then some.</p>
<p><strong>5. Your data usage pattern isn&#8217;t dominated by isolated records</strong></p>
<p>There&#8217;s some great performance benchmarks out there for micro-ORMs. Unfortunately, there are a bunch of, well, less great ones too &#8212; benchmarks that don&#8217;t test real world situations.</p>
<p>If you&#8217;re going to be guided by benchmarks, make sure that the benchmark you&#8217;re using reflects how your application uses data. For example, suppose your application issues multiple queries to the database, some of which could result in the same entity being returned. Most micro-ORMs don&#8217;t use an identity map, so they&#8217;ll trundle off to the database and materialise a new copy of the entity. Most full ORMs, by contrast, will see that the entity is already in memory, and save themselves the query and/or the materialisation.  And, by the way, they&#8217;ll give you handy object identity behaviour instead of you having to write code to test if Instance A represents the same record as Instance B.  A typical full ORM is built to have a higher level view of how real world applications are built, and can gain significantly on the performance front by performing these optimizations.</p>
<p>Of course, your application may have special performance characteristics that mean a micro-ORM plus custom performance strategies will perform better than a general-purpose ORM tuned for a typical mix of applications. Stack Overflow is a great example &#8212; its performance requirements are so extreme that it&#8217;s worth the effort of building that stuff in a way that works for them.  You have to ask yourself whether your application justifies that custom construction cost.</p>
<p><strong>And one reason *to* use a micro-ORM</strong></p>
<p>Choosing between a micro-ORM and a higher end ORM shouldn&#8217;t be a religious decision.  There are certainly places where a micro-ORM makes sense &#8212; when you don&#8217;t need domain logic, you want to work very intimately with the database, the application is very limited or ad hoc in its scope&#8230; an example might be a simple bulk data transfer application, where things like an identity map and validation don&#8217;t add any value.  We use micro-ORMs at Mindscape when they make sense, and it&#8217;s given us an appreciation of their value as well as where they come up short.</p>
<p>So what do you reckon?  Are these the key points to consider when deciding between a full and a micro-ORM?  What are your reasons for using or not using a micro-ORM?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2011/12/05/5-reasons-not-to-use-a-micro-orm/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Nightly news, 2 December 2011</title>
		<link>http://www.mindscapehq.com/blog/index.php/2011/12/01/nightly-news-2-december-2011/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2011/12/01/nightly-news-2-december-2011/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 20:05:14 +0000</pubDate>
		<dc:creator>Ivan Towlson</dc:creator>
				<category><![CDATA[LightSpeed]]></category>
		<category><![CDATA[Nightly news]]></category>
		<category><![CDATA[Web Workbench]]></category>
		<category><![CDATA[WPF Elements]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=3959</guid>
		<description><![CDATA[We&#8217;ve said it before and hopefully we won&#8217;t have to say it again &#8212; we&#8217;ve been heads down this week putting the final polish on WPF Elements 5. That hasn&#8217;t stopped us making some nice improvements to Web Workbench and a few fixes to the rest of our products. Here&#8217;s what&#8217;s new in the latest [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve said it before and hopefully we won&#8217;t have to say it again &#8212; we&#8217;ve been heads down this week putting the final polish on WPF Elements 5.  That hasn&#8217;t stopped us making some nice improvements to Web Workbench and a few fixes to the rest of our products.  Here&#8217;s what&#8217;s new in the latest builds.</p>
<p><a href="http://www.theregister.co.uk/2011/11/30/dr_who_a_brief_history_of_the_tardis/"><img src="http://cdn.mindscapehq.com/blog/wp-content/uploads/2011/12/DeveloperNotes.png" alt="" title="The Mindscape Mega Pack is also bigger on the inside than on the outside, but sadly does not randomly turn into a Welsh dresser" width="344" height="64" class="alignleft size-full wp-image-3960" /></a></p>
<p><strong>LightSpeed</strong></p>
<ul>
<li>Fix for error when doing a uniqueness validation on a field of a value object</li>
<li>Fix for issue with joined queries on soft-deleted entities</li>
<li>Fix for autocompiled FindById queries on SQLite with GUID identities</li>
<li>Fixed an issue where certain types of LINQ queries could be rejected even though they were actually translatable</li>
</ul>
<p><strong>WPF Elements</strong></p>
<ul>
<li>Fix for using the Esc key to cancel a zoom in progress on a chart</li>
</ul>
<p><strong>Web Workbench</strong></p>
<ul>
<li>Fix for highlighting errors with Sass interpolated variables</li>
<li>Fix for highlighting errors with nested multipart selectors consisting of a parent-pseudoclass followed by a subselector.  Yes, you heard me</li>
<li>Several intellisense fixes and enhancements</li>
</ul>
<p>All these updates are in the latest nightly builds.  <a href="http://www.mindscapehq.com/downloads/">Free editions available from the downloads page</a>, <a href="http://www.mindscapehq.com/store/myaccount">full editions from the store</a>.  Web Workbench updates through Visual Studio Extension Manager.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2011/12/01/nightly-news-2-december-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nightly news, 25 November 2011</title>
		<link>http://www.mindscapehq.com/blog/index.php/2011/11/24/nightly-news-25-november-2011/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2011/11/24/nightly-news-25-november-2011/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 23:55:51 +0000</pubDate>
		<dc:creator>Ivan Towlson</dc:creator>
				<category><![CDATA[LightSpeed]]></category>
		<category><![CDATA[NHibernate Designer]]></category>
		<category><![CDATA[Nightly news]]></category>
		<category><![CDATA[Web Workbench]]></category>
		<category><![CDATA[WPF Elements]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=3942</guid>
		<description><![CDATA[This week we have mostly been flinging sheep at each other in a bout of pre-election excitement, but we&#8217;ve also shipped a good batch of updates. Here&#8217;s what&#8217;s in the this week&#8217;s nightly builds. WPF Elements Fix for chart update when an alternate axis is zoomed programmatically Fixed automatic bar chart LabelLayout option Added DataSeries.LabelBinding [...]]]></description>
			<content:encoded><![CDATA[<p>This week we have mostly been <a href="http://www.onthefence.co.nz/">flinging sheep at each other</a> in a bout of pre-election excitement, but we&#8217;ve also shipped a good batch of updates.  Here&#8217;s what&#8217;s in the this week&#8217;s nightly builds.</p>
<p><a href="http://www.theawl.com/2011/11/sherlock-holmes-and-the-adventure-of-the-impudent-scholars"><img src="http://cdn.mindscapehq.com/blog/wp-content/uploads/2011/11/DeveloperNotes3.png" alt="" title="For services to the word &#039;impudent&#039;" width="344" height="64" class="alignleft size-full wp-image-3944" /></a></p>
<p><strong>WPF Elements</strong></p>
<ul>
<li>Fix for chart update when an alternate axis is zoomed programmatically</li>
<li>Fixed automatic bar chart LabelLayout option</li>
<li>Added DataSeries.LabelBinding property for conveniently setting data label content</li>
</ul>
<p><strong>LightSpeed</strong></p>
<ul>
<li>You can now skip initialising entity collections that you&#8217;ll never need.</li>
</ul>
<p><strong>Web Workbench</strong></p>
<ul>
<li>Updated Less compiler to 1.1.5</li>
<li>Updated CoffeeScript compiler to 1.1.3</li>
<li>Fixed a possible race condition</li>
<li>Fix for Sass user-defined function causing highlighting errors</li>
<li>Added highlighting for @font-face directive in Sass @mixin declaration</li>
<li>Fix for top-level Sass @includes</li>
</ul>
<p><strong>NHibernate Designer</strong></p>
<ul>
<li>Added public get/protected set visibility option</li>
<li>Added policy option for visibility of default identity properties</li>
</ul>
<p>Nightly builds of WPF Elements and LightSpeed are on the <a href="http://www.mindscapehq.com/downloads/">downloads page (free editions)</a> or in <a href="http://www.mindscapehq.com/store/myaccount">the store (full editions)</a>.  Web Workbench and NHibernate Designer update automatically through the Visual Studio Extension Manager.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2011/11/24/nightly-news-25-november-2011/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Nightly news, 18 November 2011</title>
		<link>http://www.mindscapehq.com/blog/index.php/2011/11/17/nightly-news-18-november-2011/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2011/11/17/nightly-news-18-november-2011/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 20:52:26 +0000</pubDate>
		<dc:creator>Ivan Towlson</dc:creator>
				<category><![CDATA[LightSpeed]]></category>
		<category><![CDATA[NHibernate Designer]]></category>
		<category><![CDATA[Nightly news]]></category>
		<category><![CDATA[WPF Elements]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=3926</guid>
		<description><![CDATA[Great joy from our operations team this week as the last bit of Community Server is finally excised from our Web site and replaced with a LightSpeed-based support forum that&#8217;s faster, more capable and infinitely more maintainable. Check it out! But we&#8217;ve also shipped the usual crop of enhancements and fixes to our developer products. [...]]]></description>
			<content:encoded><![CDATA[<p>Great joy from our <a href="http://cdn.mindscapehq.com/blog/wp-content/uploads/2010/08/CyberPolice.png">operations team</a> this week as the last bit of Community Server is finally excised from our Web site and <a href="http://www.mindscapehq.com/blog/index.php/2011/11/16/forums-upgraded/">replaced with a LightSpeed-based support forum</a> that&#8217;s faster, more capable and infinitely more maintainable.  Check it out!  But we&#8217;ve also shipped the usual crop of enhancements and fixes to our developer products.  Here&#8217;s what&#8217;s new this week.</p>
<p><a href="http://agevik.se/post/12932930667/startups-say-the-darndest-things-a-translation-cheat"><img src="http://cdn.mindscapehq.com/blog/wp-content/uploads/2011/11/DeveloperNotes1.png" alt="" title="What, no &quot;greater choice&quot;?" width="344" height="64" class="alignleft size-full wp-image-3927" /></a></p>
<p><strong>LightSpeed</strong></p>
<ul>
<li>Added a class containing constants for all aggregate names in the model</li>
<li>Don&#8217;t show a &#8216;should be cached&#8217; validation warning when associating to reference data across a linked model boundary</li>
<li>Fix for an issue with subqueries of projections involving soft deleted entities</li>
<li>Added some new field model information to the metadata API</li>
<li>Added interceptor support for command execution &#8212; this allows low-level diagnostics, retry strategies, etc.</li>
</ul>
<p><strong>WPF Elements</strong></p>
<ul>
<li>Added support for dynamically changing chart axes</li>
<li>Added alternate Y axis templating for custom axes</li>
<li>Added a ChartZoomed event</li>
<li>Fix for IsSelected property on non-joined-up data series (such as scatter graphs)</li>
</ul>
<p><strong>NHibernate Designer</strong></p>
<ul>
<li>Fix for XML mapping issue in Visual Basic</li>
<li>Use @-strings in Getting Started Fluent NHibernate code</li>
<li>Added some more validation on identity generator types</li>
</ul>
<p>These updates are in the current nightly builds. You can get the <a href="http://www.mindscapehq.com/downloads/">free editions from the downloads page</a>, and <a href="http://www.mindscapehq.com/store/myaccount">retail editions from the store</a>.  NHibernate Designer automatically updates itself from the Visual Studio Gallery.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2011/11/17/nightly-news-18-november-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: basic (Requested URI is rejected)
Database Caching 10/18 queries in 0.016 seconds using disk: basic
Content Delivery Network via cdn.mindscapehq.com

Served from: www.mindscapehq.com @ 2012-02-03 22:18:00 -->
