Re: Support for Visual Studio 2010

Thanks for the update. I'm really looking forward to the VS2010 version.

We're having to shift between VS2008 and VS2010 only because of NORMA. I'm modeling the new carbon sequestration for Class VI wells permit database to support our recently finalized rule on that subject (http://water.epa.gov/type/groundwater/uic/wells_sequestration.cfm) with ORM in VS2008 but the rest of the team is in VS2010, tied together with TFS and Project Server 2010. Moving the model to VS2010 will reduce the versioning complexity...;-)

Re: Support for Visual Studio 2010

L2S does a good job of generating a series of classes from the database, but the object model that you get is a one to one rendition of the physical model.

The problem here is that L2S doesn't really support anything other than a one-to-one mapping. That is, it has nothing like the Entity Framework's ComplexType. ComplexType would have been useful for modeling absorbed entity types. While it's possible to fake-up complex types using custom property types (see http://dotnetslackers.com/articles/csharp/Complex-Types-in-LINQ-to-SQL-Reloaded.aspx, you lose automatic change tracking. I think this problem can possibly be addressed, by changing the custom property object constructor so it has a reference to the object into which it's absorbed (and so can report changes), but I haven't tried that. It depends on whether you can get sufficient control of the object instantiation layer which calls the constructor.

You also don't get an identity map for the complex types, so if a query for Customers yields two records that absorb the same Address, you get two Address objects, not one. That's because L2S only uses a primary key identifier field to address its identity map, not (as in the case of an absorbed Address) all fields.

Another way to handle it would be to handle the absorbed entity as a C# struct, and I think it would be possible to get proper change tracking that way, though you still wouldn't have an identity map for the entity.

JParrish:

Are there any extensions to NORMA that generate C# object models

ActiveFacts generates an object model from either CQL or NORMA. Currently, there is no L2S (or other C#) generator. I've just been looking at what it would take to build one however. How much do you want one? :)

Re: Support for Visual Studio 2010

I've posted the new version with support for VS2010. There are some minor items still to fix (listed in the readme), but I don't anticipate these causing any major problems.

I appreciate everyone's patience while I've added 2010 support. I've been using the tool steadily for several weeks now and have worked through a number of issues with the new platform. The final file change count was 407 for the core NORMA sources, 12 for PLiX, and 166 in other private extensions, so just managing the checkin process took me more than a day of work.

VS2010 is definitely a new platform and has some odd issues I haven't seen on the other versions. Hopefully Microsoft will release an SP1 that tightens things up and increases some of the performance slowdowns.

Please let me know of any problems you have with the tool. Both the VS2010 bits and the cross-model drag components are significant changes.

Re: Support for Visual Studio 2010

I have ported my ORM files from VS2008 to VS2010, and everything seems to work well, thought I did not do much with the ORM project yet. Only, I can not find the normal NORMA navigation tree at the right side of my screen? Is this a bug?

Re: Support for Visual Studio 2010

I can not find the normal NORMA navigation tree at the right side of my screen?

Please would you clarify what you mean by "normal NORMA navigation tree".

Do you mean the toolbox, the ORM Tool window menu or something else?

Thanks

Ken

Oops, sorry, my mistake, I already found it. I ment the ORM Modelbrowser. In my VS2008 installation it was already showing when opening an ORM file. But by right clicking in an ORM file I found it.
Thank you for the quick reply.
An unrelated question is whether support for the TimeStamp data type will be included in the NORMA tool? That would be great.
Thanks -- Casper