recreate EFDAL "on the fly"?

Oct 4, 2010 at 10:58 PM

Hi

nHydrate sounds very interesting to me realizing the db-access of my projects. The little problem i got is: my database-structure isnt fixed, there are possibilities for other people to create tables and to use them. So my question would be if there is any possibility to recreate the EFDAL automaticly within my program?

Thanks for helping, greets

P. Liedtke

Coordinator
Oct 5, 2010 at 8:23 PM
Edited Oct 5, 2010 at 8:25 PM

This sounds interesting. I am currently working on an application that has a very similar architecture.

In this application we basically did the following:

1. Created a metadata database that held information about the tables and columns etc... that users created.

2. Used the object model in the Widgetsphere.Generator.Models namespace. To create an XML File from the data in our metabase.

3. Then we hacked the GenerateAll method in Widgetsphere.Generator.Common.GeneratorFramework.GeneratorHelper class.

  • Must remove all ENVDTE stuff. 
  • When files are generated need to write to disk instead of to the VS Environment

4. I wish there was a console way to perform this task. Currently there is not. Step 3 is by far the most difficult. Let me know what your level of dedication to nHydrate is. If it is high I will look at moving the request up the chain. 

Oct 6, 2010 at 9:49 AM

Well of course its high ;)

Ive searched the Internet and nHydrate offers features, which will cost a lot of time and work if we have to add them by hand. Actually I dont think there is currently a real free alternative.

Thanks for your quick answer, ill have a look at this.

P. Liedtke

Coordinator
Oct 6, 2010 at 4:38 PM

So I would be correct in saying that the goal is to: Provide a stand alone (No Visual Studio Requirements) API that allows for model creation, dll generation and database upgrade. From this users could integrate nHydrate based generation into their core product lines.  

First, if this is not what you are asking for please clarify. Second, if this is what you are asking for then.

1. You wait on me.

or

2. We can work together to come up with a solution that will benefit us both. :)

Yes, I am trying to recruit you for help. If you are interested let me know.

 

Michael Knight