I have a question, much liket this unanswered one. I'm trying to work with the entity framework, and having a tough time getting my foreign tables to update. I have something basically like this in the DB:
Incident (table):
-ID -other fields
Responses (table):
-FK:Incident.ID -other fields
And and entities that match:
Incident (entity) -ID -Other fields -Responses (EntityCollection of Responses via navigation property)
Each Incident can have 0 or more responses.
In my Webpage, I have a form to allow the user to enter all the details of an Incident, including a list of responses. I can add everything to the database when a new Incident is created, however I'm having difficulty with editing the Incident.
When the page loads for edit, I populate the form and then store the responses in the viewstate. When the user changes the list of responses (adds one, deletes one or edits one). I store this back into the viewstate. Then when the user clicks the save button, I'd like to save the changes to the Incident and the Responses back to the DB. I cannot figure out how to get the responses from the detached viewstate into the Incident object so that they can be updated together.
Currently when the user clicks save, I'm getting the Incident to edit from the db, making changes to the Incident's fields and then saving it back to the DB. However I can't figure out how to have the detached list of responses from the viewstate attach to the Incident. I have tried the following without success:
Clearning the Incident.Responses collection and adding the ones from the viewstate back in:
Incident.Responses.Clear() for each objResponse in Viewstate("Responses") Incident.Responses.add(objResponse) next Creating an EntityCollection from my list and then assiging that to the Incident.Responses Incident.Responses = EntityCollectionFromViewstateList Iterating through the responses in Incident.Response and assigning the corresponding object from viewstate: for each ObjResponse in Incident.Responses objResponse = objCorrespondingModifedResonseFromViewState Next
These all fail, I'd like to be able to merge the changes into the Inicdent object so that when the BLL calls SaveChanges on the changes to both the Incident and Responses will happen at the same time.
In an MVC view, I'm looking for a way to determine if a parent entity's collection of child entities is empty, so I can decide if I need to call a RenderPartial() or not.
For a one-to-one I've been using the following:
<% if (Model.Book.GenreReference.EntityKey != null) %> {.....}
but I'm unsure how to do it in a one-to-many scenario, or if it can even be done without the use of Include() or Load().
I get an cast exception when i am trying to insert an entity in Entity Framework (using code-first). From this code :
public virtual T Insert(T entity) { return Context.Set<T>().Add(entity); }
The cast exception is like "impossible to cast ...Collection'1(Entity) to type (Entity)" I can't figure out why. I am pretty sure ive done everything right. Post entity
public class Post { public long PostId { get; private set; } public DateTime date { get; set; } [Required] public string Subject { get; set; } public User User { get; set; } public Category Category { get; set; } [Required] public string Body { get; set; } public virtual ICollection<Tag> Tags { get; private set; } public Post() { Category = new Category(); if (Tags == null) Tags = new Collection<Tag>(); }................................
i get a list of objects from the Entity Framework data context.
var list = context.EntityA;
the EntityA is the main object (contains the primary key), but has a navigation property called "EntityALanguages", which contains language specific properties.
now i want to bind the list to a dropdownlist and need so set DataValueField and DataTextField properties from the dropdownlist.
how can i set the DataTextField to a property of a navigation property, something like:
I've been learning MVC 2 and I have pretty much everything understood except for the model part of things, I understand what the model is but actually implementing it has me confused.
Here's my situation, I have my DB which has 3 tables;
Ideas - table of ideas Tags - table of tags IdeaTag - link table connecting the above 2 tables via FKs
So when using the Entity Framework (.edmx) designer in VS2010 I get 2 classes created in the Designer, which obviously map to my DB tables and Navigation Properties in Idea for Tags & Idea for Tag.
So this is all fine until I actually try to add tags to an idea, what's the best practise for dealing with Navigation Properties? I wanted to add a Textbox which will then map to the Tags property in the Idea class but I'm unsure how I'd go about this.
Most of the MVC tutorials which discuss EF or Linq to SQL are quite basic.
I have developped a usercontrol, but I can't seem to find how to databind on a property of the usercontrol in a detailsview.The property is defined this way:
<Bindable(True, BindingDirection.TwoWay)> Public Property Value As String Get[code].....
using sqldatasource with a listview to insert and show results from an SQL server db i want to try using the LINQ datasource since it seems to be more flexible in codebehind.
My problem is this: i droped a listview control to the page and i created the Linq datasource in codebehind with vb. the issue that i am having when i ..Select d.columms name i get the error system.string does not contain a property with the name "columname".. if i ommit the column name then its works fine.. i get the error.. code below:
vb code
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim rowsCount As Integer Dim showSearchForm As String showSearchForm = Request.QueryString("tab") If showSearchForm = "1" Then
[code]....
b.dbMake needs to work so that i can use Distinct ,, ia m using asp.net version:3.5 and IIS version 7.0 .. not sure what i am missing ,, but i did try alot of approaches,,1- checked the web.config file and it seems to have two assemblies and two namespaces for LINQ..2- used different databinding syntaxs,,and i searched a lot for the solution.. the last one i read the person ommited the name of the column,, i thought that wasnt the best solution.. also my dbMake column is comming up in the "intellisence" ..
I'm using EntityDataSource to retrieve my items, and i want to get the items for a particular region. (items and regions has a many to many relationship, thus item has a regions navigation property). and I'm using "IN" to filter the items. tried several combinations and it kept on throwing various errors. how can i get this sorted out:
DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'p2_area_name'.
Description: An unhandled exception occurred during the execution of the current web request. review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Web.HttpException: DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'p2_area_name'.
Also, I need tp populate data from database in the Area dropdown but not able to do so..
I'll use Customer and Addresses as an example rather than explain my real objects. Say I have a repeater bound to a collection of Customers and one of the properties of Customer is an array of addresses. How do I bind to the addresses property? I don't even need to display this information I just want to use it in the Repeaters ItemDataBound event. So I tried to bind a hiddenField to the addresses property but all I get for every customer in the hiddenfields value is an empty array of addresses.
I have an ASCX that inherits from a WebControl that has a 'CustomConfiguration' property of type CollectionConfigurationItem. This configuration gets set elsewhere in the code, so by the time it gets to the ASCX it is set up to how I wish to use the data. At this point I'd like to render out another control using this configuration, like so:
However, breaking into DataModule always results in 'CustomConfiguration' being null, which is the default value for the property. I've tried adding a Bindable attribute to the property but to no avail, and when I set an EventHandler for the DataBinding event on the DataModule it doesn't even get called.
How can I set this custom-class-typed property from the markup or, failing that what's the second-best method of getting this to work?
I am having a problem about my gridview when it binds to an accessdatasource.
The error appears:
"DataBinding: 'System.Char' does not contain a property with the name 'Firstname'."
Here's my gridview:
[Code]....
Here's my code behind:
[Code]....
The error occurs when the selected index of the DDL is 1 and I have to bind it in an accessdatasource. First condition is working fine where I will check a value and put all items that matched the date criteria in a data table and then bind gridview in the data table.
The error is just when I bind my gridview in the accessdatasource.
AccessDataSource1.SelectCommand = "Select Firstname,Middlename,Lastname,Jobseeker.IdNo,SchDate,Time,Venue,JobPosting.JobCode,JobTitle from JobPosting INNER JOIN (Jobseeker INNER JOIN ApplicationProgress ON Jobseeker.IdNo = ApplicationProgress.IdNo) ON JobPosting.JobCode = ApplicationProgress.JobCode where PostingHr = " & Session("Id") & " and SchDate = '" & Date.Today.ToString("dd - MMM - yyyy") & "' " GridView1.DataSource = "AccessDataSource1" GridView1.DataBind()
So that gives me a series of URLs in the repeater:
[URL]
OK, so with a simple proxy tool someone can replace either of the parameters with some OTHER number to get access to what they shouldn't see.
server-side validation and authentication aside, is there a better method other than passing parameters when trying to create a dynamic URL within a repeater?
I use VS 2010 Ultimate. I created an 'asp.net web application' from scratch, added a 'ADO.NET Entity Model' to my project (EF4).
The problem I'm having is that whenever I try and use an EntityDataSource to pull data out of my entity model I am near constantly getting the following error:
"The metadata specified in the connection string could not be loaded. Consider rebuilding the web project to build assemblies that may contain metadata. The following error(s) occurred:"
I got this error while inserting/updating a number of records
could not load an entity: [Star.CNPL_BusinessObjects.Entities.CNPL.CNPL_AgencyProduct#48][SQL: SELECT cnpl_agenc0_.Id as Id48_0_, cnpl_agenc0_.AgencyID as AgencyID48_0_, cnpl_agenc0_.ProductID as ProductID48_0_, cnpl_agenc0_.CreatedDate as CreatedD4_48_0_, cnpl_agenc0_.CreatedBy as CreatedBy48_0_, cnpl_agenc0_.UpdatedDate as UpdatedD6_48_0_, cnpl_agenc0_.UpdatedBy as UpdatedBy48_0_ FROM CNPL_AgencyProduct cnpl_agenc0_ WHERE cnpl_agenc0_.Id=?]" [code]...
I'm trying to keep track of employees in my database. I have two tables, Employees and Departments. The Employees table contains a foreign key relationship with Departments through a column named DepartmentID.
Here's my entity:
[code]....
I have a page that contains a form to add an employee. I'm passing the entity to my view page, and calling <%: Html.EditorForModel() %>
The problem is that the view creates a textbox for the DepartmentID.
How can I force the view to display a dropdown for DepartmentID that contains all the Departments in my database as the dropdown's list items? Is there a way to do this by just adding a metadata attribute to the property in my entity?
I am using the Entity Framework for the first time and want to know if the following is possible - I have generated my classes from the DB, and have one called Category.
Obviously it has all my fields in the table (ID, CategoryName, SortOrder etc..) but I want to know if I can add a custom property which is not in the table, but is actually the result of a custom method.
I want to add a new property called 'CategoryURL' which is basically the 'CategoryName' property run through a custom method and returns a hyphenated string.
My initial thought is inheriting from the generated Category class and creating something like this inside?
public string CategoryURL { get{ return MyCustomMethod(this.CategoryName) } }
Is this the correct approach? And will 'this.CategoryName' work as I think it should? Basically the end result is when I return a list of 'Category' I want this to be part of the class so I can use it in my foreach loop.