Retina.NET status

Tags: ORM, Retina.NET

Almost 10 days ago I published the 1.0.0.6 version of Retina.NET and I'm very happy with the feedback received.

Some stats:

  • The GotDotNet workspace member count increased from 50 to 73 74.
  • Retina.NET sources 1.0.0.6 was downloaded 75 80 times and counting (the previous version was downloaded 129 times).
  • Retina.NET is now actively used on several projects (I'm updating the list).

I'm now working on version 1.0.0.7, and so far I have made the following changes:

  • Changed StringDataType to not allow null values. Added a empty constructor.
  • Changed NullableStringDataType to add some additional constructors (min/max len).
  • Fixed the "NonPersistent" property of the "FieldStorage" attribute.
  • Fixed ROWGUID column definition for MsSql DataStore.
  • Added the "IgnoreMember" property to "FieldStorage" attribute.
  • Modified class "ChildCollection" to better support for proxy classes (lazy load).
  • Added preliminary support for Entity WebForms.

I'm focusing on fixing those remaining bugs from the new features added to the previous version, and starting to tune things up for better performance. Some of the things I have in mind are:

  • Not using reflection for accesing entity persistent properties/fields. I will be using delegates for this as they are way faster than MemberInfo.SetValue(...). In Whidbey delegates are as fast as using a virtual call (using an interface, for instance), but they are other cool tricks involving the new DynamicMethod class.
  • Using a factory pattern for every class being instantiated using reflection (StringDataType e.g.).
  • Start making some profiling and perfomance testing.

Well, thats all for now. All comments are (as always) welcome.

Best regards,

Andrés G Vettori
MCSE/MCSD/MCT
Leader of the C# Community of the
Microsoft Users Group Argentina

No Comments