Preventing Storage Model Overwrites By Update Wizard
Jul 17, 2010
In my Entity Framework v4 project, I have a table with two columns that are computed by the database (via triggers, etc.). In order to get EF to properly insert records into the table, I have to manually mark the columns as "Computed" in the EF Storage Model (the StoreGeneratedPattern attribute), which is not supported by the designer -- so I have to make the edits by hand to the XML in the .EDMX file. The problem is that whenever my database schema changes, and I need to update the storage model in my project, the "Update Model Wizard" overwrites the whole Storage Model section of the .EDMX, eliminating my manual changes. This means that I have to keep a special list of such changes and manually re-apply them everytime I do an update!
Is there any way to prevent the Storage Model overwrites? Is there a way to flag the columns in the database, so that EF will automatically mark them as computed? As a last resort, is the some REALLY EASY XML tool/technique that can automatically apply the changes for me after every refresh? I've been told by an insider that one solution might be to check out the "Designer Power Pack" (link below), which allows you to customize generation of the storage model. I've only skimmed the info so far, but it looks to me like there may be a day or two learning curve to figure that out. Does anyone have any experience with the Designer Power Pack, or any other ideas? [URL]
I am trying to use wizard in an update panel but the wizard is disappearing when I click for the next or prev step button. I only want to close wizard , when I click the finish button. How can I do this ?
I made a few changes to the DB in SQL server management studio then right clicked on the .edmx doc to get it to update. That seemed to work fine but when i compiled the app everything that referenced the EF seems to be broken.The Error list now contains the below error for all classes that used it.
The type or namespace name '' could not be found (are you missing a using directive or an assembly reference?)
I have a masked edit C99999 as a mask and allow a "C" or "D" as the beginning character.This C or D is added to an existing number when that application is Denied or Canceled.The trouble is the masked edit is in overwrite mode and destroys the original app#.Can I make it INSERT or do I need to do an append of the original number to the newprefix in the update code?I hope this isn't another RTFM question... <BLUSH>
i'm using visual studio data set designer to create a typed dataset and I want the dataset to use Oracle stored procedures to query, update, and delete to the database. Query a view, update to a table, and delete a row from a table. This typed dataset will be the datasource for a gridview. In the grid view I want to display some information from the database and be able to update and delete. I was able to display what I wanted to the gridview using the typed dataset which used a Oracle stored procedure.
However, now I want to run a Oracle stored procedure to do an update but I'm not sure how to pass the required parameters to my stored procedure. error i got trying to configure the datasets tableadapter to use my oracle stored procedure as the update, not sure if this is the problem i'm having screen shot of the objectdatasource that brings together dataset and gridview
stored procedure for updating
PROCEDURE "update_config_magic" (times_to_repeat_in IN NUMBER, account_num_in IN NUMBER, spell_num_in IN NUMBER ) IS PRAGMA AUTONOMOUS_TRANSACTION; BEGIN UPDATE user_train_config_magic SET timestorepeat = times_to_repeat_in WHERE user_train_config_magic.account_num = account_num_in AND user_train_config_magic.SPELL_NUM = spell_num_in; COMMIT; END "update_config_magic";
I have a three step Wizard with various textboxes in it. I out the Wizard inside an Update Panel and Content Template. I launch the site and the first step of the wizard is executed nicely but when I click next to get to the second step, nothing happen. If I take the wizard out of the update panel then it works fine.
What this does is create a javascript spinner control. Now when I click the NEXT button onto this step it generates the spinner control. I click next to go to the next step, then I click PREVIOUS to go back to this step and the spinner control is not generated.
Now I have tested this on an ASPX page and it seems to work, I then copy the code across to an ASCX control and put the page live and it does not work.
The update panel has an animation extender that just displays a div with a processing gif when you click next/previous.
So any reason why it creates the control on the next and not the previous step?
have a wizard control inside an update panel. have a radiobuttonlist that autopostback's when i click a radio button, page posts back & the page hops back up to the top. i want a user to be able to click radio controls & checkboxes with the form to be fluent; the hop back up to the top is rather annoying & may confuse the user.
I have a update panel and Update progress inside an Wizard control's Wizard Step.
But the update progress is not shown when i click on the 'Finish' (in which the ajax controls are placed) button inside the Wizard step
Note : I am using the FinishNavigationTemplate to define the 'Finish button and OnClick Event of the Button, i am setting the Updateprogress control location using DomElement
in generate the Stored Procedures when using Create TableAdapter configuration Wizard in VS.it can not generate the Stored Procedures for Delete and Update Commands, but it generated for Select and Insert. i tried many times, but still get the same problem.
I have basically this View with a model, let's say i want to update the LastName ( I have all other fields as well ) using JEditable, this is what I did.
I'm pretty sure something is wrong with my Url.Action("EditProfile"), and i dont know what the controller should look like in this case. My goal is to update this model and redirect me back to the same page.
I have a control that's bound to a list property. If I remove elements from that list using javascript and post, then the model gets updated, and the elements get removed.
Unless I remove all the items from the list. Then no names for that property go into the form data, and so the default model binder leaves the model's list untouched. This code from DefaultModelBinder.cs line 572 in the RTM sources makes it clear:
[Code]....
So how do I indicate to the model binder that I do want it to update the list and Ido want the list to be emptied?
Id like to access the ViewModel properties via javascript, i have a jquery treeview and links that fill the contects of a textbox asyncronously using javascriptalong with filling in a texbox, i also want to set the models properties without the need of a textboxFor because its an id and i would like to keep it hiddenwhen updating i need the contents of that textbox as well as the id (which i dont want the user to see)
I have been trying to design a form, which uses a view model that contains an object array. I want to set up this form so that when the submit button is clicked, all the members of the array are updated. Here is my code:
The class definition of the array element:
[Code]....
The problem is that when I clicked the submit button, none of the luSubject objects in the array Subjects got updated. But if I set up some initial values for the members of the luSubject objects, for instance, set the Name field to be "Maths" in the constructor of luSubject class, then it got displayed on the text box when the form page was loaded. This suggests that this form could display the data in the array, but cannot update it.
This is part of a larger problem which has plagued me for a while now (see "EntityCollection already initialized" error with entity as model in Asp.Net MVC? for the entire picture).
But I found a web site with someone who had faced a similar problem and apparently solved it for his needs [URL]. I tried it, but had to make some modifications to fit my code, and the helper methods supplied by a tutorial by Steven Sanderson (see previous post).
I'm very close it seems, but not quite:
UpdateModel(consultant, "Consultant"); if (vm.Programs != null) //Unnecessary? Can it even be null if it's initialized from the model? for (int i = 0; i < vm.Programs.Count; i++) { Program formProgram = vm.Programs[i]; Program modelProgram = consultant.Programs.SingleOrDefault(x => x.Id == formProgram.Id); if (modelProgram == null) _repository.AddProgram(formProgram); else modelProgram = formProgram; UpdateModel(modelProgram); //Doesn't work. The modelProgram object does get updated with the correct property values, but it isn't saved to the repository... } _repository.Save();
Although this follows the example on the site above, and the modelProgram does get updated with the changed properties, these values are not saved to the database on _repository.Save() on the Consultant object, even though the modelProgram object is a reference to a Program object on the Consultant... What am I doing wrong?
I am using the Entity Framework by the way, if it isn't clear.
(BTW, if anyone has any input on the previous question and the whole picture, that would be welcome too, it is still unresolved).
UPDATE: There was apparently a mistake in here: UpdateModel didn't actually do any updating, I had just referenced a different object (the one in the viewmodel) for the modelProgram, so of course it had the right property values. I still want ideas for how to achieve this though...
If I make a change to my database (let's say I add a column to a table), is there any magical buttons that I can click to have my Linq to SQL model update to reflect the changes to my table? I had to create two additional columns yesterday, and both times I found myself destroying and then recreating the Linq model.
when trying to update the db from the edit page, i would likt to take one field from the formcollection change things in it and update the model with the changed field.
I'm using Entity data model to reflect my database and I generate Domain service from my Entity data model.I understand that if I have changes in my database, I can just choose "Update Model from Database", but there is no "Update Domain service from Model" option available.How should maintain my domain service? I'm not going to delete away it and regenerate it whenever there are some changes, right?
I have a question about model binding. Imagine you have an existing database entity displayed in a form and you'd like to edit some details, some properties eg createddate etc are not bound to the form, during model binding, these properties are not assigned to the model as they are not on the http post data or querystrong etc, hence their properties are null. In my controller method for update , Id just like to do
public ActionResult Update( Entity ent) { //Save changes to db }
but as some properties are null in ent, they override the existing database fields which are not part of the form post data, What is the correct way to handle this? Ive tried hidden fields to hold the data, but model binding does not seem to assign hidden fields to the model.
This is my first attempt at updating a database using LINQtoSQL. At least, it's my first if you don't count the tutorials I've followed. Unfortunately, The tutorials that I have found don't offer much more than updating a single table. I'm attempting to update a DB Model that's a bit more complex.