MVC :: Update Related Objects In Controller
May 29, 2010
I have and Article object that I update in my controller.... the object is passed into the controller and then I just call UpdateModel(inArticle) and it was all good. I now expanded my article to belong to a category and want to do that update there as well. I am not sure if it was the right thing to do but just as a start i hard-coded an update to the ArticleCategory table, just after I do the UpdateModel. This works but I am not sure how to code this update?
I am using the repository patter and i somehow feel that I should be passing an Article and an ArticleCategory object from the view to the controller? While I was writing this I thought that I could just extend my article object to include the categoryID but what if I really wanted to pass two un-related objects from the view to the controller? The UpdateModel persistes the database objects as by VoodooMagic, how would it work if I wanted to update 2 un-related objects?
View 3 Replies
Similar Messages:
Mar 19, 2010
I have the following tables:
Campaigns (CampaignId, CampaignName, etc)
Urls(UrlId, CampaignId, UrlText)
I have a relationship setup between Campaigns table and Urls (FK_Url_Campaign) everything works fine when I try to add a new campaign but when I try to insert a new Url I get:
Entities in 'DatabaseEntity.Url' participate in the 'FK_Url_Campaign' relationship. 0 related 'Campaign' were found. 1 'Campaign' is expected.
This is my code:
// INSERT
public int Insert()
{
Url dbUrl = new Url();
dbUrl.CampaignId = (int)CampaignId;
dbUrl.Url1 = (string)Url;
context.AddToUrl(dbUrl);
context.SaveChanges();
return (int)dbUrl.UrlId;
}
Pretty much i want update/add new campaign and then I call Insert for Url. how would i go about doing this?
View 2 Replies
Jun 24, 2010
I am using Entity Framework for my .NET application. I have been able to return objects and their directly-related objects as well (very convenient), but I am having trouble getting the objects of those objects.
IEnumerable<Lot> i = (((ObjectSet<Car>)_carRepository.GetQuery()) .Include(a => a.CarTypes).Take(10).ToList()
This works and I can access carTypes, however I cannot figure out how to access tables associated with CarTypes (e.g. tables which have fields associated with the car types). I tried to use a Join however I was unable to figure out how to get it to work right.
View 2 Replies
Mar 3, 2011
I'm working on a MVC3 application and I created my POCO classes from my database with the DbContext Code Generator. All goes fine until I got stuck in this situation. Note that I use the repository pattern and I use for every entity a dedicated repository that every get a new instance of the DbContext.
Now, I'm in this situation:
object A has a relation one-to-many with B (A can have one or many B)
object B has a relation many-to-one with C (C can have one or many B)
object B has a relation many-to-one with D (D can have one or many B)
I should add a new object B, consider that object C and D are yet existing, so I must only do the relation and the object A can be created or updated. In the specific consider that A is customer and B is subscriptions (C and D are virtual objects properties
in the B).Now If I try to save I got duplicates in C and D tables, while the management of the object seems to work.
Here's the code: [Code]....
And here the add and the save method of the customer repository: [Code]....
Should I check for every relation and modify the state of the entry to Unchanged or something like that ?
View 1 Replies
Sep 2, 2010
I would like to pass List<SelectListItem> (not selected item but the whole "List" object) back to controller.
for example in my GET controller i would have this
ViewData["list"] = some select list from repository;
then on post I would like to get the list back from view..pretty much i'm trying to use ViewData["list"] as storage..this way I would use ajax to remove or add items to/from the list.
View 10 Replies
Aug 5, 2010
I need to pass a list of Entity Objects from Controller to View but not put it in the Model context. It is the users homepage, but I am putting a list of alerts on the users home page(somewhat like facebook). So I need the User Context as the Model I pass but need to pass the Alert model as well so I can show the list of alerts.. How would I do that? The code below is what I have so far..
UserController
[Code]....
UserRepository
[Code]....
View 1 Replies
Jan 22, 2010
I have a form that I don't want to post back so I need to get the form values into my controller via jquery's ajax method.Here is my test controller method:
[Code]....
When I debug the controller method and look at the lineItems parameter, it always contains 0 items. I've tried various formats for the javascipt lineItems parameter but still 0 items. I'm also open to some other way of getting these values in like the jquery form serialze method or something else.
View 2 Replies
Feb 5, 2011
I used to ADO.NET+DataSet many years ago, but now, I need it again. So what I need is to add related rows with tableAdapter.Update method.Here is my code: [Code]....
but I get the "The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Question_Project". The conflict occurred in database "QTracker", table "dbo.Project", column 'ID'. The statement has been terminated." exception at the "qTA.Update(ds);" row. I have seen many examples that do the same, but my code still throws the exception.
View 4 Replies
Jan 27, 2011
I'm in a .NET environment and when a user performs a save or update action, Foundation pops up a status message 'processing...' or 'saving...' or 'refreshing...', then 'saved.' After a given amount of time, the message will disappear,sometimes before the given action is really complete. How can I access this functionality and extend the time these status messages appear on the screen?
View 1 Replies
Aug 25, 2010
I would like to update new records that get inserted in DataSet to Sql Server Database. Below is a working example of how to do this if you use "DataAdapter.Fill(ds)".
But i don't want to fill data, becouse i don't need data, i only need shema (I will use this dataset to insert new data to Sql), so i would like to use "DataAdapter.FillSchema(ds)"
[Code]....
View 4 Replies
Nov 24, 2010
I have a problem in getting my gridview to update. The datasource gets its data from 2 related tables using the following select statement:
SELECT StudentSubject.StudentID, Students.[1stName], Students.Surname, Students.Grade, StudentSubject.Subject, StudentSubject.GradeOverall, StudentSubject.ReportYear, StudentSubject.ReportSession, StudentSubject.Criteria1Grade, StudentSubject.Criteria2Grade,
StudentSubject.Criteria3Grade, StudentSubject.Criteria4Grade, StudentSubject.Criteria5Grade, StudentSubject.Criteria6Grade, StudentSubject.Criteria7Grade, StudentSubject.Criteria8Grade, StudentSubject.Criteria9Grade, StudentSubject.Criteria10Grade, StudentSubject.Comment
FROM (Students INNER JOIN StudentSubject ON Students.StudentID = StudentSubject.StudentID)
WHERE (StudentSubject.Subject = ?) AND (StudentSubject.ReportYear = ?) AND (Students.Grade = ?) AND (StudentSubject.ReportSession = ?)
The ? stem from combo box controls which I use to filter the results So far so good!
However, when I try to update the data in just one of the tables, nothing happens, no error, just no update. The update statement I'm using is:
UPDATE StudentSubject SET GradeOverall = ?, Criteria1Grade = ?, Criteria8Grade = ?, Criteria7Grade = ?, Criteria6Grade = ?, Criteria5Grade = ?, Criteria4Grade = ?, Criteria3Grade = ?, Criteria2Grade = ?, Criteria9Grade = ?, Criteria10Grade = ?, Comment =?
WHERE (StudentID = ?) AND (Subject = ?) AND (ReportYear = ?) AND (ReportSession = ?)
I've tried this with a similar setup with just on table and it works fine.
<asp:AccessDataSource ID="DSGrid" runat="server"
DataFile="D:RW docsVisual Studio 2008WebSitesFellbach ReportsApp_DataReports - Copy.mdb"
SelectCommand="SELECT StudentSubject.StudentID, Students.[1stName], Students.Surname, Students.Grade, StudentSubject.Subject, StudentSubject.GradeOverall, StudentSubject.ReportYear, StudentSubject.ReportSession, StudentSubject.Criteria1Grade, StudentSubject.Criteria2Grade,
StudentSubject.Criteria3Grade, StudentSubject.Criteria4Grade, StudentSubject.Criteria5Grade, StudentSubject.Criteria6Grade, StudentSubject.Criteria7Grade, StudentSubject.Criteria8Grade, StudentSubject.Criteria9Grade, StudentSubject.Criteria10Grade, StudentSubject.Comment
FROM (Students INNER JOIN StudentSubject ON Students.StudentID = StudentSubject.StudentID) WHERE (StudentSubject.Subject = ?) AND (StudentSubject.ReportYear = ?) AND (Students.Grade = ?) AND (StudentSubject.ReportSession = ?)"
UpdateCommand="UPDATE StudentSubject SET GradeOverall = ?, Criteria1Grade = ?, Criteria8Grade = ?, Criteria7Grade = ?, Criteria6Grade = ?, Criteria5Grade = ?, Criteria4Grade = ?, Criteria3Grade = ?, Criteria2Grade = ?, Criteria9Grade = ?,
Criteria10Grade = ?, Comment = ? WHERE (StudentID = ?) AND (Subject = ?) AND (ReportYear = ?) AND (ReportSession = ?)">
<SelectParameters>
<asp:ControlParameter ControlID="ComboSubject" DefaultValue="German" Name="Subject" PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="ComboYear" DefaultValue="2010 - 2011" Name="ReportYear" PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="ComboGrade" DefaultValue="1a" Name="Grade" PropertyName="SelectedValue" Type="String"/>
<asp:ControlParameter ControlID="ComboSession" DefaultValue="November" Name="ReportSession" PropertyName="SelectedValue" Type="String"/>
</SelectParameters>
</asp:AccessDataSource>
<asp:AccessDataSource ID="DSGrid" runat="server"
View 10 Replies
Jul 21, 2010
Am not sure how to go about this... but i have two ddls on a formview which are not related but just insert and update into each other... Both are binded to the objectdata source....
Am issue just came up and i am looking for the simplest way on code behind that would automatically post a constant value (selecteditem) once the first ddl clicks on 1 or 2....
Example is
lst DDL Second ddl
ABC bko
DWC loct
qwe jjjj
Now when ABC is clicked... it should automatically bring out JJJ on the second ddl.... I just want something i can do on code behind.
View 12 Replies
Jun 8, 2010
My dataset table data is from multiple tables (showing on a gridview),How to update the database tables using batch udpate on clicking submit, if the data is from a signle table, no problem, but I am not sure how to handle if the datais from mulitiple tables? If I have related tables, do I need put them in differet tables in the dataset?
View 6 Replies
Sep 29, 2010
getting data from multiple Entities models into an MVC controller. Most of the examples I have seen for using EF in an MVC2 app only use a single entitiy.
I have just started using MVC2 in C# using the Entity Framework models (CIOps.model) created from an SQL database. I can create the controller and views using single tables of the model in MVC2, but I just cannot get my head around how to get data from multiple entity tables into the controller (similar to joins in T-SQL). I have included an example below of the controller code that works with a single entity table, tbl_tours (tbl_tour in DB).
Could someone please illustrate how this code would be changed to include additional columns from FK tables in addition to tbl_tours columns. E.g. the clients name from the tbl_clients, the coordinators name from the tbl_employees, and costs from tbl_costs entities? Is it possible to do this directly using the EF model entities/classes that are already created and not use LINQ, POCO, Repositories, etc.? The FK relationships are already in the EF models. I have included the whole controller code, but I just need a few examples of how to join the multiple entities, not rewrite every CRUD function function in the controller. I think this will get me over the hump in using EF in an MVC2 App. Also ignore the fact I am using the home controller, this will change in the application.
[Code]....
View 21 Replies
Sep 20, 2010
I have an entity generated from my database that contains one table. When i make changes in the DB i obviously would like these changes to reflected in my model.
My current approach is to delete the item from the designer and then right-click - update model from database. This works for me at the moment. Is there a different approach to refreshing these entity tables ?
View 1 Replies
Sep 14, 2010
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.
View 8 Replies
Jul 2, 2010
I found some code on the web and it threw me off. Look at the code below. You will notice only when the Hits == 1, does the cache get added. After that, the cache object isn't updated. It begs the question, does the object when updated, update the cache as well automatically? The answer here would make me remove some code in some of my classes.
public static bool IsValid( ActionTypeEnum actionType )
{
HttpContext context = HttpContext.Current;
if( context.Request.Browser.Crawler ) return false;
string key = actionType.ToString() + context.Request.UserHostAddress;
var hit = (HitInfo)(context.Cache[key] ?? new HitInfo());
if( hit.Hits > (int)actionType ) return false;
else hit.Hits ++;
if( hit.Hits == 1 )
context.Cache.Add(key, hit, null, DateTime.Now.AddMinutes(DURATION),
System.Web.Caching.Cache.NoSlidingExpiration,
System.Web.Caching.CacheItemPriority.Normal, null);
return true;
}
I would only guess that I would need to add the lines after the if statement:
if( hit.Hits == 1 )
context.Cache.Add(key, hit, null, DateTime.Now.AddMinutes(10),
System.Web.Caching.Cache.NoSlidingExpiration,
System.Web.Caching.CacheItemPriority.Normal, null);
else if (hit.Hits > 1)
{context.Cache.Remove(key);
context.Cache.Add(key, hit, null, DateTime.Now.AddMinutes(10),
System.Web.Caching.Cache.NoSlidingExpiration,
System.Web.Caching.CacheItemPriority.Normal, null);
}
Found the code at the bottom of the page here: http://www.codeproject.com/KB/aspnet/10ASPNetPerformance.aspx?msg=2809164
View 1 Replies
Feb 1, 2011
I've written some pages with ASP.net Repeater and GridView objects. I've seen that some other programmers write pages with these objects; but they make these objects do very nifty things.
For example, I've seen pages where a user clicks on a button and a jQuery dialog appears. When the user enters data into the dialog and clicks a button, the data is submitted using AJAX and the gridview/repeater is updated without reloading the page or posting back. What are good practices for accomplishing this?
View 2 Replies
Dec 1, 2010
I'm working on a school project where my website idea of choice is one that creates mixtapes (well, you'd download them or burn them from the site, but I need not implement that). The site allows its users to create 6 song mixtapes that are then published into a transaction table.
That part I am fine with. Making the selection page is tough. The way I have it set up is that there are 6 columns with 3 drop downs. First the user picks the genre, then the artist WITHIN the genre, and the song from the artist (GENRE > ARTIST > SONG). So, I would need the ARTIST drop-down list to populate once a SelectIndexChanged occured on GENRE. Same with SONG, but it would use ARTIST instead of genre.
Repeat that 5 more times and click a button, and it would create a table and post it to the database.
I have thought up of 2 ways to go about it.
1) Create a session that expires once the user clicks the "create" button. This would be sluggish, as there would be about 12 page refreshes, and 12 session variables I'd need to store.
2) AJAX/jQuery. This way would be awesome, but I have no idea how in the world to write jQuery in such a manner that on an event it calls a method from a code-behind file.
One thing I found out before my brain went to mush (I've been working on this for 6 hours now), is that one way people have done this is to call a non-related .aspx file that serves as a method. The idea is ok, but how do I go about getting it to update objects on the page the user is currently on? I'd believe there is a simpler way to do this, and am looking to you guys for some guidance on how to dynamically update dropdownlists.
View 2 Replies
Apr 2, 2010
I have a table in my database with a one to many relationship to another table, which has a relationship to a third table:
[Code].....
This seems to work fine. My question to you good folks: Is there a correct way to do this? I tried following the making a custom model binder per the blog link I posted above but it didn't work (there was an issue with reflection, the code expected certain properties to exist) and I needed to get something going ASAP. PS - I tried to cleanup the code to hide specific information, so beware I may have hosed something up.
View 1 Replies
Jan 13, 2010
My MVC 1.0 project use LINQ TO SQL that generate classes in Designer.CS file. I am trying to use FormViewModel pattern to update both the two one-to-many tables, tblDoctors and tblPatients in SQL Server which has the following relationship.
TblDoctors.DoctorID -> TblPatients.DoctorID
When I click save button on the Edit.aspx, only the doctor portion of the form is saved. The patient portion is not saved. I don't have a controller for Patient yet. How do I commit both portions through the DoctorsController?
In the Designer.CS, the Doctor class has
[Table(Name="dbo.Doctors")]
public partial class Doctors: INotifyPropertyChanging, INotifyPropertyChanged
[code]...
View 3 Replies
Dec 28, 2010
UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, that follows the UP(Unified Process). It uses a Grasp Controller pattern to interact with domain classes by some methods like NewSale(), AddNewItemToSale() and CloseSale. In windows form, I can instantiate a object of this class in the UI and then use its methods to perform the actions. This works well in Client apps, but when I use asp.net mvc, I cannot find a way to instantiate an object (one for each user) that was always visible for a Controller (MVC). I cannot insert as an attribute inside Controller because it always create a new one.
View 1 Replies
Nov 17, 2010
have some Objects, lets say Employee and Role defined as below and I have defined relationships in my database that gives me a list of objects say employees and thanks to my framework each employee object also has a Role object linked via the RoleIDID, UserName, Password, Email, RoleIDRoleID, RoleNameSo in code I can do something like this
Employee emp = dataService_GetEmployeeByID(1);
string RoleName = emp.Role.RoleName;
Now here is my problemI can bind any object in a repeater and it works fine for the first level in my relationship
For instance <%# Eval("UserName") %>
But I need to be able to show the details for my child objects as well (Role) so something like this (which does not work)
<%# Eval("Role.RoleName") %>
View 2 Replies
Apr 6, 2010
I know how to bind a simple objects to a dropdown list. However I am having problems binding my objects which contains sub objects to the control.i.e. with simple object i just do ddl.DataValueField = "myproperty"
with my objects they contains sub objects which i want to bind. I have tried ddl.DataValueField = "sub-object.myproperty" which doesnt work.
View 2 Replies
Jun 21, 2010
firstly a static class only ever exists once and is not an instance. Any static members (ie static int NoOfPeople;) is stored in one place and is shared between all sessions (like the old global variables).
Now static methods is where i'm not 100% sure. If I have a static method that doesn't use any other static members could this cause inconstant results, example (this is a fairly pointless method but just a quick example of the top of my head)
[Code]....
So in this example if two sessions (or threads) were to call this at the same time - would they both get back the expected results, because the method only uses private data (a, b and totalToReturn).Im sure this sounds a little simple but I will be using static methods to build user objects and various other objects that there will have to be a 100% garentee that the objects will not get mixed up between sessions and the wrong things return to the user.
View 5 Replies