EntitySpaces 2007 Release v1.1119.0 - Release Notes
Upgrading from Prior Releases:
- Un-install the Trial version before upgrading to EntitySpaces Developer.
- You may install this Developer Release right over the top of EntitySpaces
Developer Beta 2007.0.0415.0
or later.
- Upgrading over-writes C:\Program
Files\MyGeneration\Settings\esPluginSettings.xml. If you have run the Set
esPlugin Settings template to make changes to the defaults, you should run
it and duplicate your changes after upgrading, and before regenerating.
- Regenerate your generated classes using the
"Generated Master" template.
IMPORTANT notes for upgrading from EntitySpaces Beta 2007.0.0328
or earlier (including updating from EntitySpaces 1.5.3):
- Uninstall your current version of EntitySpaces
and, if possible, completely delete the left over files in your EntitySpaces folder.
The installation locations of the Compact Framework files have changed, and could
lead to confusion, if there are left over files.
- Do not install side-by-side with other
EntitySpaces releases.
- Regenerate your generated classes using
the "Generated Master" template.
- Assign a Loader in your application.
See "Registering the Loader" in the "Getting Started" PDF that
is added to your EntitySpaces Start Menu folder.
- A few methods have moved under the nested .es
variable. IsDirty, for instance, is now .es.IsDirty. These will generate
compile time errors, and should be easy to spot and fix.
New Installs:
MyGeneration 1.2.0.7 should be installed
first, and then closed, before installing EntitySpaces Developer or Trial.
- You can download MyGeneration 1.2.0.7
HERE.
- EntitySpaces 2007 is a full install. You do not need an earlier version installed.
- VistaDB note: An updated VistaDB 3.2 Build 43 MyMeta plug-in for MyGeneration
is installed to the MyGeneration Program folder during the EntitySpaces install.
- MySQL note: MyGeneration requires that MySql.Data.dll be copied to
the MyGeneration Program Folder.
- After installing, please see the "Getting
Started" PDF that is added to your EntitySpaces Start Menu folder.
PostgreSQL Special Instructions:
MyGeneration ships with the PostgreSQL native column type to C# mappings named differently than the EntitySpaces templates expect them. However, this can be easily corrected in a few quick seconds by following these
steps (VB.NET users follow these same steps, EntitySpaces uses only the C# mappings even for VB.NET):
- Open MyGeneration
- Connect to your PostgreSQL database using the MyGeneration Default Settings dialog. It's under the "Edit -> Default Settings ..." menu
- Click on the "Language Mappings" toolbar button (4th from the right - use tooltips)
- Select "C# (Npgsql)" in the drop down combobox in the "Language Mappings" dockable window.
- Click on the "Create New Language Mapping" icon (white icon on the "Language Mappings" dockable window)
- In the popup dialog for the Language type in C# and Based Upon select
C# (Npgsql)
- Click on the "OK" button
- Click on the "Save" icon on the "Language Mappings" dockable window
- Close and reopen MyGeneration, you're all set.
The above instructions are a one time operation, you will not have to do them again.
The EntitySpaces.NpgsqlProvider.dll uses Npgsql version 1.0. It should be installed with your PostgreSQL 8.2 installation. It can, also, be found HERE.
Below are the cumulative release notes for EntitySpaces 2007.1.1119.0:
- Joins now support more powerful syntax. The On() statements support
the logical operators & and |
for example.
- The esDataSource now supports the Join syntax of the DynamicQuery API.
Examples
are in the esDataSource folder after install.
- The esDataSource now has a LowLevelBind property that can be set to true to allow
low level data binding. (Useful when bringing back extra properties.)
- The DynamicQuery OrderBy() method now supports passing in raw SQL via the angle brackets
syntax < > just as the Select() method does.
- Hierarchical properties that had settors before have been restored
to their original behavior. All properties now have settors which accept
null, but the many-to-one UpTo will no longer throw an exception
requiring a null value.
- Fixed the "missing dot between alias and column name" bug in the
Where clause.
- We, and all VB users, owe a great debt of gratitude to Martin
Pritchard (pritcham). He converted the EntitySpaces Demo to VB. It is
now installed with both the Developer and Trial versions.
- Added GetEntityType to collections.
Beta 2007.1.1112.0
- New Client Side Proxies Available, see this BLOG post.
- Fixed an error that would occur after restart, see this forum POST
- All ProxyStubs are now partial classes, some common logic that was in every ProxyStub
class was pushed into a base class. There is now a GetEntityType() method on the
proxies that can be used to get the esEntity's Type.
- You can now run without defining a default connection, and assign connections as
needed. This is great for hosted web applications that have different databases
per client.
- New DynamicQuery feature - The "Contains" Where operator is implemented for SQL
Server (only). It requires that Full Text indexing be enabled. See this
FAQ.
- Minor potentially breaking change - On the "Generated Master" template, both "Metadata Class Should Ignore Schema" and
"Metadata Class Should Ignore Catalog" are now checked by default.
Simply un-checking them before re-generating will revert to the old
default behavior.
This thread discusses the optons in detail.
Beta 2007.1.1024.0
- The esDataSource should now automatically bring up all of your collections. Hopefully
you will no longer have to browse to the dll.
- OnPropertyChanged bug fixed.
Beta 2007.1.1021.0
- For Windows.Forms developers, hierarchical binding is now supported.
There is new flag on your collection classes called
EnableHierarchicalBinding that is true by default. You can turn if off
in the designer by selecting your collection and setting that property
to false.
- Breaking change, but much improved -
CreateExtendedProperties is no longer necessary, and has been
deprecated. It is replaced by virtual columns and
GetLocalBindingProperties(). See the next two bullet points.
- Virtual Columns enhancement. A virtual column is any column that is brought back
from a query, a stored procedure, or any other data fetching mechanism that is not
in your core table or view. For instance, if you use our new "join" syntax to bring
back any extra columns from other tables, these extra columns are referred to as
virtual columns. All virtual columns are now bindable at runtime by default. For
instance, if you bring back an extra column named "FullName", that column will exist
as a "virtual property" for binding purposes only, and can be seen automatically
by whatever you are binding to (not via intellisense though).
- Local Binding Properties, changes and enhancements. All columns
added during GetLocalBindingProperties() will always be available in design time.
-
The FakeColumn property below must be added in the GetLocalBindingProperties() if
you want to make it available during runtime. The reason you must do this is that
it is not contained in the underlying DataTable, and EntitySpaces knows nothing about
it. Of course, adding it here also means it will be available in design time.
-
The FullName property below is only added to the GetLocalBindingProperties() because
we want it to show up in design time. Since it is returned in the underlying DataTable
it will always be available at runtime.
Beta 2007.1.1015.0
- IDataErrorInfo Implementation, the IDataErrorInfo Implementation lives in the esEntity.cs
class (your single entity's base class) and here is the actual implementation.
There are two ways to take advantage of the IDataErrorInfo implementation; by delegate,
or by a virtual/overrideable method. Below are a few examples. They might not make
too much sense, but they should show you the simple mechanics. The nice thing about
this approach is that you are handed the Column Name, the actual esEntity, and the
esColumnMetadata for the column. To use the virtual Validate() method, you simply
overload/Override it in your custom class like this:
To use the delegate, you would take this approach in your winform (or wherever)
- Hierarchical properties enhanced. All hierarchical
properties now have a "set" which you can call. You can always set them to Null or Nothing which will reset the object.
The next time you access that property it will be lazy loaded again.
This means you can now do this ...
- Optional Nullable types enhancement. This should be considered experimental. If you
run the EntitySpaces - Set esPlugin Settings template you will see a new checkbox
named "Use Nullable Types Always" which is set to true. This is how we have always
handled Nullable types. However, if you set this to "false" then only columns that
allow null will be Nullable types. We have done some testing on this, however, for
those of you that are interested in this support, we need your help in testing.
The only drawback right now is that our proxy's do not support this feature yet,
so if you check the proxy checkbox and generate the proxies, you will get compile
errors
- Corrected bug with SQL Server Paging with Joins.
Beta 2007.1.1001.0
- There is a shadowing problem with our new Load() method that takes an esDynamicQuery
and the protected load methods, however, this is a very easy fix to make and only
comes into play when calling the protected Load() methods. We strive to avoid such
impacts on exiting code, however, in this case, avoiding the compatibility issue
would have made our overall API less intuitive.
- The DynamicQuery API now supports InnerJoin, LeftJoin, RightJoin and FullJoin.
- The DynamicQuery API now supports Arithmetic Expressions using + - * / %
- The DynamicQuery API now supports the C# natural language operators & (and) as well
as | (or). VB users can use And and Or.
- The ASPX Suite(S) have been enhanced and are now referred to as "GridLoaders".
There is a PDF on your menu after installation.
- There is now an esDataSource sample (C# and VB) located in the EntitySpaces directory
after install.
- There are three new starter templates in the EntitySpaces.Example.Templates namespace
for those wishing to create templates.
- The VB.NET Proxy templates were fixed, there was a bug preventing them from serializing
correctly.
|
|