JRR wrote:
I was really excited to see the option to refactor multiple columns into a value type.
However, is it true that this is only supported in Entity Framework, and not in the LLBLGen Pro Runtime Framework?
It's supported on NHibernate and EF v1 and v4 as those target frameworks support valuetypes. Linq to sql and LLBLGen Pro runtime framework don't.
I have the June 24th Build of LLBLGen 3.0, and when I "validate" the entity model, I get this error:
The field 'Test' in entity 'Supplier' has its field type a ValueTypeDefinition. This isn't supported by the target framework
Sigh..
So I switch the output from our beloved LLBLGen Pro Runtime Framework to the Entity Framework, and the error goes away.
I guess it's not that big of a feature, but it's just curious if the LBLLGen Designer supports things that the framework does not even support.
that's because the designer was our main goal in this v3.0 release and it has to support multiple frameworks. Some features are supported by framework X and not by Y and vice versa. LLBLGen Pro supports m:n relationships over intermediate entities which are populated with non-pk fields, EF doesn't. You can map an entity to a view, in EF you can't and it will give a validation error. Type converters, same thing. Oracle support? no dice for EF. Mapping a stored procedure call? Not supported on nhibernate. In general this is ok, as you know what the target framework can do and you use the designer to get a working piece of code to work with the model at runtime.
We planned to support valuetypes in our own framework for v3.0, however it turned out to be a lot of work, so we postponed it. The main issue is that a valuetype shares a lot of code with an entity (e.g. fields, field management etc.) and to accomplish that, we had to refactor a lot of code, which would take a lot of time, so we decided to not support it in v3.0, and instead postpone it till a later release.
I just wanted to make sure that I understood this, I didn't see anything in the documentation on this feature not being supported.
Then you haven't looked closely enough:
http://www.llblgen.com/documentation/3.0/LLBLGen%20Pro%20RTF/hh_goto.htm#NotSupportedDesignerFeatures.htm
The designer will always support features which aren't supported by all frameworks at once: some might support the feature, others don't.