What’s new with CodeFluent Entities 801?
Today we release the build 801. This build includes lots of new features:
Cache Producer and array
The Cache Producer creates a unique key for each method call based on the method name and its parameter values:
cacheKey = SimpleCacheManager.BuildCacheKey("ad5a4755bc1df9345e1a73e2ae38", pageIndex, pageSize, pageOptions, ids);
The BuildCacheKey method handles common parameter types such as String, Boolean, Integer, DateTime, etc. But it does not handle complex types such as array for the simple reason that there are many ways to handle them. We decided to let you handle those cases as you want depending of your context. We introduce a new optional parameter “Build Cache Key Method Name”:
The generated code will be:
cacheKey = CustomerCollection.CustomBuildCacheKey("ad5a4755bc1df9345e1a73e2ae38", pageIndex, pageSize, pageOptions, ids);
This way you can create the key the way you want!
Use existing .NET enumeration and type
CodeFluent Entities can reuse existing .NET enumeration or .NET type. The modeler now lets you add those type on the surface:
The enumeration and all its values will be added to the surface:
The same apply with .NET type such as “System.Drawing.Point”
SQL Server Producer & “Nullable” Table Value Parameters
When you create a CFQL method with persistence nullable array parameter:
LOAD(guid ids?) WHERE Id IN (@ids)
The SQL Server producer generates the following code:
DECLARE @_c_ids int; SELECT @_c_ids= COUNT(*) FROM @ids IF(@_c_ids = 0) BEGIN SELECT [Customer].[Customer_Id], [Customer].[Customer_FirstName], [Customer].[Customer_LastName] FROM [Customer] END ELSE BEGIN SELECT [Customer].[Customer_Id], [Customer].[Customer_FirstName], [Customer].[Customer_LastName] FROM [Customer] WHERE [Customer].[Customer_Id] IN (SELECT * FROM @ids) END
IS NULL is translated to Array is empty because TVP cannot be NULL. We think this check is the most logical in this case.
Starter wizard supports new project templates:
Pivot Script improvements
The SQL Server Pivot Script producer has many new options to select what to produce (tables, procedures, functions, etc.):
Sorting Project Resources
Project resources grid allows to sort rows by name, class or value:
Visual Studio 2015 Preview
As we mentioned this week, CodeFluent Entities now supports Visual Studio 2015 Preview.
The R&D Team