ValueTypeDefinition & LLBLGen Pro Runtime Framework

Posts   
 
    
JRR avatar
JRR
User
Posts: 125
Joined: 07-Dec-2005
# Posted on: 26-Jun-2010 08:53:43   

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?

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. disappointed

I just wanted to make sure that I understood this, I didn't see anything in the documentation on this feature not being supported.

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39614
Joined: 17-Aug-2003
# Posted on: 26-Jun-2010 10:31:18   

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. disappointed

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.

Frans Bouma | Lead developer LLBLGen Pro
JRR avatar
JRR
User
Posts: 125
Joined: 07-Dec-2005
# Posted on: 26-Jun-2010 17:21:00   

Thanks for replying so quickly! simple_smile

I tried searching the documentation, but must have overlooked something.

I'm not complaining about the designer, it's just that I've always only considered the llblgen framework.

Something cool would be a matrix of features available through the designer, and supported in each framework - or maybe this is the only example of such a limitation.

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39614
Joined: 17-Aug-2003
# Posted on: 27-Jun-2010 11:04:01   

JRR wrote:

Thanks for replying so quickly! simple_smile

I tried searching the documentation, but must have overlooked something.

I'm not complaining about the designer, it's just that I've always only considered the llblgen framework.

Something cool would be a matrix of features available through the designer, and supported in each framework - or maybe this is the only example of such a limitation.

Most features are supported by all frameworks, we tried to enlist the ones which aren't supported per framework in their own docs so that is perhaps a bit odd for some people: it is perhaps a good idea to enlist them also in the designer docs, we'll think about that.

For the LLBLGen Pro runtime framework, there are two things which aren't supported in the runtime framework which are in the designer: multiple inheritance types per hierarchy and valuetype definitions. so the list is pretty small wink

Frans Bouma | Lead developer LLBLGen Pro