I'll preface this with I'm fairly new to EF and I had to mess around with this quite a bit to get the initial deploy to work, so I may (probably) have inadvertently broken something.
My problem is now when I create a new migration it builds fine, but when I try and update the database, it errors because it's trying to recreate tables that are already there.
If I remove the migration, I can update fine.
I tried making a migration before I make a change and then again after, but same thing.
Doing a compare with unmodified on the snapshot seems to be just updating with my new table.
__EFMigrationsHistory just has my first release migration.
When I was messing around to get the first deploy I did remove a load of old migrations, is there somewhere else these could be logged that's throwing this off? Although I don't think I removed anything after the migration I kept.
One other thing I did do was update EF from 6.0.6 -> 6.0.8
Any help to get this back on track would be much appreciated.
I'm pretty unsure what's happening here. Any time I run Update-Database I get the successful Running Seed method. when I'm finished. However, when I go to the __MigrationHistory (or look for the added columns), nothing changed. This happens when I use -TargetMigration as well. No matter what I do, the database isn't getting modified.
I'm not even sure what other info I can include to help narrow down the solution. Any tips?
Edit - Forgot to mention that I've run with the -Verbose flag and the connection is the same one I am currently using in Server Explorer.
I often get errors when running test cases after changing relationships. When checking the relationships on the data diagram I notice that they are often not reflecting any of the changes I did or only some of them, confusing the model. This only seems to be the case when creating the diagram within Server Explorer of Visual Studio. When creating the diagram in SQL Server the changes show up fine.
Unfortunately, this also affects testing the code, because I'm never sure if a fails because of a problem with a change in the relationships I did or Visual Studio not updating. Having to detach and attach the database each time is a bit of a pain.
The database is dropped and recreated correctly, but Visual Studio seems to run the code against a cached version. Had anybody else similar problems, any fix?
I've certainly seen issues where I've updated SPs/function imports and tried to update the associated complex type, the dialog window says 'update', 'delete' etc next to the columns changed, so it's certainly seeing the different, but when applying the update these often don't seem to take and I end up manually adjusting the complex type.
In the above example I'm not sure whether the correct approach is to delete and recreate the type, but the existence of the update functions seem to suggest that an update should be possible. As you say mine too feels like a caching issue and whilst I've not yet found a solution I will be interested to see if you can find a solution, if I make any ground on this I will post back here too!
newbie to Entity Framework here. Using VS 2010 and SQL Server 2008 express DB.
I was having trouble refreshing an Entity Data Model after adding new tables. So, I followed a suggestion I found here to just delete and regenerate the model.
I get to the "Choose Your Data Connection" section of the Entity Data Model Wizard and "Save entity connection settings in Web.config as:" is checked. However, my existing name has a 1 appended to it. For example MyDatabaseEntities is now MyDatabaseEntities1. Of course, I don't want the "1" appended. I killed the existing connection string in Web.config and removed all references to that name in my solution. Yet when I try to continue I'm presented with the following error:
"'MyDatabaseEntites' conflicts with an existing property name in the Application Settings. Please choose a different name"
I can't find a reference to that name anywhere in the solution. I can uncheck that option and it will continue, but it STILL won't add two of the tables in the database. Next, I completely shut everything down, rebooted, and tried again. This time I didn't get the error above, but two of my three new tables still do not get added to the edmx model.
Any ideas are appreciated. Also this seems like it's still pretty buggy even in VS2010/.NET 4. Help restore my faith...I feel like abandoning Entity Framework at this point. Based on my experience so far and some of the other issues posted here, I feel like I'm going to spend more time chasing Entity Framework strangeness than writing useful code.
UPDATE: I found a resolution. The designer doesn't display errors. You have have to look in the native XML (edmx file) to see the errors. See here: ADO.NET Entity Framework: Update Wizard will not add tables
The error is caused by leftover connection strings in settings in "App.Config" file (see solution explorer) and it's in this section:
"connectionStrings" (surrounded by angle brackets)
Just delete it from there.
Restart IIS if you develop web app.
Restart Visual Studio After Deleting The EntityDataModel Connection
String Line from web.config or app.config
Add New Entity Data Model and rename it like old name,
I don't know the specific answer to your problem, but I think I can recommend an approach that will clear up this conflict.
I generally break my EF work into a separate library. If I'm working on Cyberdyne.Terminator, I make an EF class library called Cyberdyne.Terminator.Data. That way, if you want to blow away the model and start over, everything is separate from your dependent files, and in particular, your web.config.
None of this is likely to fix the missing tables, probably. The one thing I've seen where this happens is if I add a table, and then delete it. It will not appear again in the "Add Tables" dialog (and you have to rename it to get it to show). But I thought that was fixed in EF 4.0. Dunno. If the problem persists you might try renaming the table, re-adding it, and then renaming it back if it shows up.
EF is a pain in the ass to be sure. The only thing I can tell you is that I've generally had to work through these headaches, learn the issue, and never be bothered by them again. If you can't stand EF, you might also look at NHibernate - I have a very strong impression of that as well.
Double check your connection strings, and keep scrolling to the right. Most often, when this happens to me, Visual Studio has appended a connection string behind another. I've done this a couple times, and wondered where my app config was (no, there is no app config, just web config in mvc), so the dialog is a little confusing. Sure enough, most likely that connection string is lurking directly behind another!
Just press
Ctrl+F
keys and in dropdown list select 'EntireSolution/CurrentProject', then press enter. where ever this name generated it will show you.
I get into web.config file. so delete that generated complete connection line from there. and re add it again. Then hope you may not get this message again.Thank you..
Actually this is frustrating, since you trying to see in app.config that if there's a another string and you see only 1 string, Actually What VS does is sometimes append second string in the same line. see this picture below
Does it look like there are 2 ConnectionStrings? (ACTUALLY YES)
Now, see this pic:
Also you can press Ctrl+ED to format the config file and see if there's another second string hiding somewhere. Hope this will help someone.
im so sorry for my english
but the solution is simply.
you have to delete the ado.net
then, go to app.conf and delete the connection string<>,
DEBUG your project and finally add the new database through ado.net
TO ADD ADO.NET
RIGHT CLICK ON YOUR PROJECT NAME, THEN, ADD NEW ITEM, DATA AND SEARCH ADO.NET...
I hope help you, have good day!
angelsantacruzm
I've gotten the "Cannot change the ActiveConnection property of a Recordset object which has a Command object as its source" error (0x800a0e7b) in my classic asp page a couple of times, usually after I've just changed a stored procedure.
In the past, uninstalling and reinstalling the COM+ applications and a reset of IIS has seemed to fix this problem. I'd assumed that the old ActiveConnection property was somehow being held in memory and the workaround was flushing it out. Today, no such luck.
So my first question is, "What does this error actually mean?" The second question is, "How do I fix it?"
I've tried consulting the following links, but as a COM+ novice this is currently over my head.
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/ASP/Q_20626178.html
http://msdn.microsoft.com/en-us/library/ee275490(BTS.10).aspx
This error is most commonly associated with a stored procedure returning more than one result set, or returning rowcounts (try adding set nocount on at the top of the procedure.)
Did you make any recent changes to the database? If so, those changes would be a good place to start looking.
P.S. I'm amazed that you have a COM+ application that's actually used in 2010. Phase that crap out as fast as you can :)