Register       Login  
   Small text Medium text Large text
  Useful links  
   
         
     
  Announcements  
 
Genome v4.2 SP10 released - Wednesday, May 18, 2016
Genome v4.2.11 provides fixes for the integration to Microsoft Visual Studio 2015. With the update DataDomain schema projects can be compiled to .NET 4.6.1 and .NET 4.6.2 as well. The service pack contains a few minor fixes in the Sqlite provider and in the runtime too.  
Genome v4.2 SP9 released - Tuesday, September 22, 2015
Genome v4.2.10 provides integration to Microsoft Visual Studio 2015 with the same functionality as for VS2013. Also with this update the DataDomain schema projects can be compiled to .NET 4.5.2 and .NET 4.6 too. The service pack adds support for PostgreSql database and contains a few minor fixes in the runtime too.  
Genome 4.2 SP8 supports VS2013 and .NET 4.5 - Thursday, October 24, 2013
Genome v4.2.9 provides integration to Microsoft Visual Studio 2013 with the same functionality as for VS2010 and VS2012. Also with this update the DataDomain schema projects can be compiled to .NET 4.5 and .NET 4.5.1 too. The service pack contains a few minor fixes in the runtime too.  
Genome 4.2 SP7 released - Wednesday, May 01, 2013
With a few fixes and a small feature!  
Genome 4.2 SP6 supports VS2012 RTM - Friday, August 24, 2012
Genome v4.2.7 provides integration to Microsoft Visual Studio 2012 RTM with the same functionality as for VS2010. This release contains only this tool enhancement and no change in the runtime.  
Genome 4.2 SP5 with VS2012 RC support - Friday, June 29, 2012
Genome v4.2.6 provides integration to Microsoft Visual Studio 2012 RC with the same functionality as for VS2010. This release contains only this tool enhancement and no change in the runtime.

Important note: Visual Studio 2012 RC comes with a change in the MsBuild system, that causes the Genome builds fail (in VS2012 and also in VS2010) with the following error:
error MSB4185: The function "CurrentUICulture" on type "System.Globalization.CultureInfo" has not been enabled for execution.

This problem will be fixed my Microsoft in VS2012 RTM. In the meanwhile you have to set the environment variable “MSBUILDENABLEALLPROPERTYFUNCTIONS” to “1”. (You might need to restart Visual Studio).
 

Genome 4.2 SP2 (v4.2.3) released - Oct 29, 2010
With many fixes and small features!   read more...
Genome 4.2 released - Feb 10, 2010
Supports now Visual Studio 2010!   read more...
Updated roadmap - Dec 22, 2009
learn more about the upcoming Genome v4.2 release   read more...
Genome 4.1 released - Mar 31, 2009
Read more about what's new in this release.   read more...
New Product Video released - Jan 16, 2009
Get a quick overview of Genome v4.   read more...
 
         
     
  2006/07/20: Genome 3.0 beta 1 for .NET 2.0  
 

Released on 20 th of July 2006 (build: 3.0.0.17)

 

Genome 3.0 provides major enhancements that utilise new features provided by the Microsoft .NET 2.0 Framework. Genome 3.0 is therefore only available for .NET 2.0. To use Genome with .NET 1.1, the latest release of Genome 2.x can be downloaded from the Genome website.

 

Genome 3.0 entails some breaking changes when upgrading from Genome 2.x. However, change efforts should be minimal when upgrading from existing Genome 2.x projects.

 

The current release of Genome 3.0 is a beta release. We are collecting feedback from users and will provide subsequent release candidates in short cycles of two to three weeks.

 

Set<T>

 

The new generic Set<T> extends the existing Set class, which has been retained for backwards compatibility. Set<T> provides strongly typed access to persistent objects retrieved from the database.

 

Minor changes have been applied to the interface of Set/Set<T>, such as renaming Set.Filter to Set.Where to match the upcoming LINQ syntax. Old interface members have been retained and marked as deprecated where possible. For a complete list of changes, please see the “API Changes” chapter below.

 

The DataDomain class has been extended with the following new methods to retrieve strongly typed results:

 

  • DataDomain.Extent<T>()
  • DataDomain.Evaluate<T>()

The Database Reverse Engineering Wizard (DBREW) has been extended to generate class models using Set<T> when desired.

 

Collection<T>

 

Collection<T> extends Set<T> to provide implicit collection handling. While Set<T> represents a query to enumerate all elements of a set specified through an arbitrary OQL, Collection<T> is further specialised to deal with 1:n and n:m relations in a more convenient manner:

 

  • Collection<T> provides methods for adding and removing elements of the collection which set corresponding reference fields in the associated objects (1:n relation) or create and delete the corresponding association elements (n:m relation).
  • Collection contents are consistent even in uncommitted LocalContext (Long Running Transaction). Changes to the collection take effect without re-querying the database.
  • Collections can be ordered. Ordering is kept when adding and removing elements to the collection.
  • Collection elements are cached once they are accessed (enumeration, Count, etc.). Subsequent access to collection elements is served from cache, which is held consistent with changes performed to the collection (directly through add/remove operations on the collection as well as by modifying object references ).
  • Collections can be used in OQL queries like normal sets.
  • Further query transformations (such as filtering, projecting, ordering, etc.) can be applied to collections. The result will be a Set<T>. Uncommitted changes in the LocalContext (Long Running Transaction) might not be reflected in the transformed Set<T>.
  • For n:m relations, the association class can be managed implicitly without appearing in the business model.

PreCaching can be applied to Collection<T> like for Set<T>.

 

The Database Reverse Engineering Wizard (DBREW) can be instructed to generate Collection<T> instead of Set<T> for relations found in the database.

 

Nullable<T> support

 

Genome now supports persistent properties with the new .NET 2.0 nullable types. Lifted operators of Nullable<T> (such as the standard arithmetical operators (+, -, etc.)) are mapped as well.

Nullable<T> can also be used for Wire Object Protocol (WOP) Data Transfer Objects.

 

The Database Reverse Engineering Wizard (DBREW) can be configured to generate Nullable<T> in the object model.

 

ExternalQuery

 

With the Set<T> extensions, ExternalQuerySet became obsolete. To create Set or Set<T> results with external SQL queries as a data source, the ExternalQuery.Create() and ExternalQuery.Create<T>() methods can be used.

 

External SQL queries that do not return any result rows can be executed using ExternalQuery.ExecuteNonQuery().

 

GetRange() available in OQL

 

GetRange(0,n) can be now used from within OQL and will be translated into a TOP n statement in SQL. The first item of a set can now be properly selected using “someSet.GetRange(0,1).ToObject()”.      

 

Namespace consolidation

 

The following changes have been made to align namespaces and other type identifiers with the Genome product name:

 

  • TechTalk.Dal.* namespaces have been renamed to TechTalk.Genome.*
  • TechTalk.Dal.dll and TechTalk.Dal.*.dll assemblies have been renamed to TechTalk.Genome.dll and TechTalk.Genome.*.dll
  • DalException has been renamed to GenomeException

API changes

 

Some API changes have been introduced with Genome 3.0 and need to be considered when upgrading projects from Genome 2.x. For some changes, a deprecated version of the old infrastructure is retained in Genome 3.0. Please see the "What’s New" section in Genome 3.0 for more information about breaking changes.

 

Upgrading existing projects

 

The "What's New" section in Genome 3.0 outlines the steps necessary to upgrade existing Genome 2.x projects to Genome 3.0.

 

Documentation

 

Documentation is still under construction and will be finalised in an upcoming release. All samples have already been upgraded to demonstrate usage of the new Genome 3.0 features.