Preview of useful design-time features for DbContext.
When right-clicking on a C# project, the following context menu function is supported:
1) Reverse Engineer Code First - Generates POCO classes, derived DbContext and Code First mapping for an existing database.
When righ...
My case is that I have a library (a dll) with my POCO entites. this is a common library.
I also have other library that is the repository that I use to access to the database. This library has the edmx model and the class that implements the repository. From the edmx I create the the myContext.Context.tt file with a list that contains all my entities. I modify the template to use the namespace of my common library with the POCO entities because I want to use this entities, so I delete the myContext.tt file that contains the new entities.
Then I try to use the tolos to pre generate the view, so I right click the edmx file and choose generate view. I set a breakpoint in the the getViewAt to check if the pre generated views are used. however, they are not used.
I also have tried right click in the myContext.Context..cs file and try to generate the view from this file, but in this case I get the following error: "the parameter is invalid. Expcetion HResult: 0x80070057 (E_INVALIDARG))".
So I would like to know how to use the views when I have my POCO entities in a common library.
pretty slick way to quickly get up to speed on specifying relationships between entities using the reverse-engineer code-first from an existing db option.
one of our smallest database which is using for checking out new technologies such as web api and Entity frame work, obviously it is too time consuming to create poco classes for 1392 tables therefore we excited about this tool but ...
as soon as we click OK on database connection dialog the whole visual studio hang and it did not come back.
System.ArgumentException: Value does not fall within the expected range. at EnvDTE.SourceControl.IsItemUnderSCC(String ItemName) at Microsoft.DbContextPackage.Extensions.SourceControlExtenstions.CheckOutItemIfNeeded(SourceControl sourceControl, String itemName) at Microsoft.DbContextPackage.Extensions.ProjectExtensions.AddNewFile(Project project, String path, String contents) at Microsoft.DbContextPackage.Handlers.ReverseEngineerCodeFirstHandler.ReverseEngineerCodeFirst(Project project)
ALSO does not column names of "Error", must be an ADMIN account.
The situation is if you have a table in the database which has no non-prime key columns then the reverse engineer code first power tool will ignore this table. A specific example we encountered was we had a link table that had three columns and these three columns were used together to form a composite primary key. As a result the EF power tool totally ignored this table when reverse engineering. It should not be ignoring this table!!! The work around was to add an extra non –primary key column, which we called empty column.
We are currently using this tool for one of our apps. And this tool is awesome.
But we have an other app where it has around 500 tables, when we try to reverse engineer this tool generates 1 file per table. So when starting up the app the entity framework is taking lots of time since it is trying to load all the files.
Could you let us know when the feature will be available to select the tables we want to generate?
There is a bug with these tools in VS 2012 right click DbContext > Entity Framework > View Entity Data Model only works if the full connection string is specified. Simply the name of the connection string does not work. This may be a consequence of my EDM being in a separate project. Please fix this bug.
public partial class UnityDbContext : DbContext { public UnityDbContext() : base("Server=...full connection string...") //Works //: base("Name=UnityDbContext") //Not works { ... }
I was initially excited to discover this tool while watching a Julier Lerman video but when I tried to "View Entity Data Model", I got a cryptic VS error "sequence contains no matching element" :-(
Rowan, I'm sure you guys are well aware of this but EF Power Tools Beta 3 in VS 2012 does not reverse engineer SQL Compact databases. Is this bug going to fixed in the next revision?
The error is:
System.ArgumentException:
The modelEntityContainerName parameter 'C:\XXXX\XXXXContext' contains characters that are not valid. at XXXsdfConteSystem.Data.Entity.Design.EntityModelSchemaGenerator.Initialize(EntityContainer storeEntityContainer, IEnumerable`1 storeFunctions, String namespaceName, String modelEntityContainerName) at System.Data.Entity.Design.EntityModelSchemaGenerator..ctor(EntityContainer storeEntityContainer, String namespaceName, String modelEntityContainerName) at Microsoft.DbContextPackage.Handlers.ReverseEngineerCodeFirstHandler.ReverseEngineerCodeFirst(Project project)
Reverse engineering works fine, but Data Model viewing fails with "Sequence contains no elements". My context is inherited directly from DbContext, and it has default constructor. VS2010, EF5.
Once I have generated POCO files, and now I want to just generate for few specific tables, as I have already done some alterations in the existing poco classes. There is no option available.
I was able to resolve the issue above by customizing the t4 templates. You can determine if the FK is set to cascade via navProperty.ToEndMember.DeleteBehavior == System.Data.Metadata.Edm.OperationAction.Cascade
Unfortunately, doesn't seem to be working on Visual Studio 2012. I tried using the "View Entity Data Model (Read-Only)" option (as well as other options in the same menu). It's giving me a "Sequence contains no matching element" error. This happens even for a very simple context with a simple entity.
Is there any place where I can get a stack trace or more details?
Got this error when attempting to update to the latest release. Any solutions?
02/07/13 16:31:28 - Install Error : VSIXInstaller.SignatureMismatchException: The signature on the update version of 'Entity Framework Power Tools Beta 2' does not match the signature on the installed version. Therefore, Extension Manager cannot install the update. at VSIXInstaller.Common.VerifyMatchingExtensionSignatures(IInstalledExtension installedExtension, IInstallableExtension updateExtension) at VSIXInstaller.InstallProgressPage.BeginInstallVSIX(SupportedVSSKU targetAppID)