Hi,
We have some problems getting a large (800 tables, 1600 views) database model to work with Devart tools:
1) Entity Developer (standard edition version 2.80.143). We tried to use Entity Developer to generate 1 edml file, but this took a long time and eventually ran out of memory. Even when we shortened it to just 800 tables it ran out of memory.
2) Devart Entity Framework designer in Visual Studio 2010 (dotconnect version 2.70.152.0). This tool doesn't have a way to select all tables, so we used our own edml generator. When we try to load our edml into the Devart Entity Framework designer in Visual Studio 2010 it takes 45 minutes and 2700M of memory. But it wont open in the designer, the error we get is "Unspecified error". We think it might be because it ran out of memory because shortly after when we were doing build it ran out of memory.
What is the maximum number of entities for one edml?
We could split up the model, but the 800 tables would always remain 1 closure, so we wouldn't get further then a factor 3 reduction in size. Also in the future we might want larger database models that cannot be split into closures either. Is there a memory leak in the Devart tools?
Do you have suggestions on how to proceed from here? Is there another company that produces an Entity Framework for Oracle solution that is less memory intensive?
Regards,
Jan
Large edml files with Entity Framework for Oracle
-
- Devart Team
- Posts: 1710
- Joined: Thu 03 Dec 2009 10:48
Please try the latest Beta 6.0.10 build of dotConnect for Oracle. You can download it from
http://www.devart.com/dotconnect/oracle/download.html
(the trial version) or from Registered Users' Area (provided that you have an active subscription):
http://secure.devart.com/
The problem you've encountered occurs in Entity Developer when the layout for large models is being prepared. In the Beta version, in the case of a large model you will be prompted to omit this step: the entities will be shown in the default order, but the model should be generated properly. Please tell us if this helps.
Speaking about the EF designer built into Visual Studio, did you mean the standard MS Entity Data Model designer? If yes, we support it, meaning that connections created with Devart components can be used as its data sources, but cannot fully control its behaviour. Also, the MS designer does not support .edml models. If you meant the Entity Developer add-in, please send us the generated .edml file so that we are able to investigate the issue in details.
http://www.devart.com/dotconnect/oracle/download.html
(the trial version) or from Registered Users' Area (provided that you have an active subscription):
http://secure.devart.com/
The problem you've encountered occurs in Entity Developer when the layout for large models is being prepared. In the Beta version, in the case of a large model you will be prompted to omit this step: the entities will be shown in the default order, but the model should be generated properly. Please tell us if this helps.
Speaking about the EF designer built into Visual Studio, did you mean the standard MS Entity Data Model designer? If yes, we support it, meaning that connections created with Devart components can be used as its data sources, but cannot fully control its behaviour. Also, the MS designer does not support .edml models. If you meant the Entity Developer add-in, please send us the generated .edml file so that we are able to investigate the issue in details.
Hi,
We tried build 6 (Entity Developer 3.0.10), but according to Task Manager it still runs out of memory. After 40 minutes or so the memory usage is 1800M and the Entity Developer does not have anything in the main window. The question to ommit the layout step was not asked, is there a way to force the question to be asked? The size of the edml is 17M. Up till 20 minutes the memory usage was 100M. Somewhere between 20 and 40 minutes it went to 1800M.
I will ask if I can send the edml.
Regards,
Jan
We tried build 6 (Entity Developer 3.0.10), but according to Task Manager it still runs out of memory. After 40 minutes or so the memory usage is 1800M and the Entity Developer does not have anything in the main window. The question to ommit the layout step was not asked, is there a way to force the question to be asked? The size of the edml is 17M. Up till 20 minutes the memory usage was 100M. Somewhere between 20 and 40 minutes it went to 1800M.
I will ask if I can send the edml.
Regards,
Jan
-
- Devart Team
- Posts: 1710
- Joined: Thu 03 Dec 2009 10:48
Thank you for the model. As you were not prompted to omit the layout step, the out of memory issue probably occurred during registration of the model in Sync Services. However, we couldn't reproduce the problem in our environment. Could you please try attaching to Entity Developer with Visual Studio (the Tools -> Attach to Process item of the VS main menu) and catching the exception? Please send us the exception details and stack trace.
We plan to implement two features that can help with models of such size:
1) View splitting. We plan to implement a mode that will allow to work with the database diagram by parts, showing only a limited number of entities at once.
2) Console mode. The console mode of Entity Developer will allow to create the model XML and generate the code without the design-time editor.
Could you please specify if you plan to manage the model with a design-time editor, or you need only to generate the code from .edml? Are the above options suitable to you, and if yes, which one is preferable?
We plan to implement two features that can help with models of such size:
1) View splitting. We plan to implement a mode that will allow to work with the database diagram by parts, showing only a limited number of entities at once.
2) Console mode. The console mode of Entity Developer will allow to create the model XML and generate the code without the design-time editor.
Could you please specify if you plan to manage the model with a design-time editor, or you need only to generate the code from .edml? Are the above options suitable to you, and if yes, which one is preferable?
Console mode would be preferable. As long as we can use our edml as input, because we do want control over the entity names and number type mapping. Other then that we don't really want detailed control per entity. Ideally we want to automate the whole reverse engineering proces: from database to entities.
It wont let me attach to proces on Entity Developer because it needs elevated rights on VS it says. I tried full permissions, but this doesn't seem to be enough. Running VS under admin crashes on my machine, I will have to look into what's causing this. In short: I can't send you a stack trace atm.
It wont let me attach to proces on Entity Developer because it needs elevated rights on VS it says. I tried full permissions, but this doesn't seem to be enough. Running VS under admin crashes on my machine, I will have to look into what's causing this. In short: I can't send you a stack trace atm.
We plan to add the console mode in future.
You can influence our roadmap using Devart User Voice.
You can influence our roadmap using Devart User Voice.