Archive for July, 2009
Transient fields and EntityState
Tagged as LightSpeedIn LightSpeed 2.2, any change to an entity — at least, any change that goes through the Entity.Set method — results in the entity going into the Modified state. From the point of view of “has the object changed,” this makes sense, because the object state has indeed changed.
If the entity contains transient fields, however, things get a bit murkier. The trouble is that LightSpeed also uses the EntityState to decide whether an entity needs saving. So in LightSpeed 2.2, changing a transient field — if the change is made through the Set method — results in the entity being saved, even if none of its persistent fields have changed. This is clearly wasteful. It’s also a bit weird, because the entity goes back from Modified to Default even though no changes have actually been saved for it.
So we’re making a change in the nightly builds, so that entities will go into the Modified state only if you make a change that needs saving to the database. This will avoid unnecessary saves to entities with only transient changes. However, it does mean a slight change to the meaning of the Default and Modified states for objects with transient fields: the state will now reflect only the status of persistent fields.
In practice, this change is unlikely to affect you. If your entities don’t have transient fields, you won’t be affected at all. If you don’t use the EntityState property in your own code, you won’t be affected either. However, if you’re actively using the EntityState of entities with transient fields, and it’s important to you to capture cases even where the modifications won’t be persisted, please let us know. We’ll be happy to advise on alternative approaches, or to add support for your scenario, once we know what you’re trying to achieve.
LightSpeed 3 Status Update
As many of you know, we’ve been incredibly busy working on LightSpeed 3.0 over the last few months. We thought it was important to give everyone an update on the time frames for the LightSpeed 3.0 beta.
Our original time frame was to have a beta available around mid year, but this hasn’t worked out as planned. Many of the LightSpeed 3.0 features have been implemented however core query enhancements, which we know will be a key feature of 3.0 for many customers, have taken longer than anticipated and we also want to add some more polish to other features.
Rather than rush out a beta that we know is very rough around the edges we are going to delay the beta release until it’s feature complete. We hope to provide an update on the time frame for the LightSpeed 3.0 beta in the near future.
We do push some of the LightSpeed 3.0 enhancements into the nightly builds for 2.x. These primarily focus on the designer enhancements that Ivan has been blogging about recently.
Multi-value attributes in SimpleDB Management Tools
Tagged as SimpleDB Management ToolsSimpleDB, unlike a relational database, allows you to store multiple values against a single attribute. For example, in a Books domain, the Author attribute might contain multiple values to represent a book with several authors.
We’ve now added support for this feature to SimpleDB Management Tools. The latest version sports a new Edit Values button which pops up a dialog where you can add and delete values as well as editing them. In the grid, multi-valued attributes are shown with their number of values, and you can click the cell to edit the values without needing to go to the Edit Values toolbar button.
Of course, if you only want a single value against an attribute, you can still edit it normally in the SimpleDB Management Tools grid. You only need the dialog if you’re managing multiple values.
Want to give it a try? Download the free trial edition, or if you already own SimpleDB Management Tools then get the upgrade from the store.
Categories
BrainDump (1)
Community Code (4)
Events (16)
F# (14)
General (53)
Lab Samples (2)
LightSpeed (268)
MegaPack (8)
News (71)
NHibernate Designer (26)
Nightly news (53)
Phone Elements (24)
Products (87)
Projects (5)
Screencast (6)
SharePoint (3)
Silverlight (14)
Silverlight Elements (66)
SimpleDB Management Tools (20)
Visual Studio (9)
VS File Explorer (7)
Web Workbench (39)
WPF (44)
WPF Diagrams (57)
WPF Elements (110)
WPF Property Grid (32)



Posted by Ivan Towlson on 28 July 2009



