How To Avoid Clashes With Existing Entity ID's When Deserializing And Importing EF Entities
Feb 11, 2011
I have an ASP.NET 4 web app that is using the Entity Framework to hold, amongst other things, a hierarchical structure of items that is used for features such as navigation.
One of the functions of the application allows the export of a particular branch of the hierarchy tree to XML, generated using a DataContractSerializer. Once exported, the intention is that the XML can then be uploaded to another instance of the same app, deserialized back into EF objects and then added to the data model on the second server.
When I try and import data in this way, I'm finding that I see the following error:
The object could not be added or attached because its EntityReference has an EntityKey property value that does not match the EntityKey for this object.
Taking a closer look at the XML that is generated by the serializer, I can see that the entity key is among the items that has been serialized. Since I'm importing entities that originate from a different database, some of the ID's clash.
What I'd ideally like to be able to do (unless I'm missing something here) is attach the imported entities to an object context and reset the ID's of the objects being imported.
Is there a smart way to do this? Do I simply have to set the ID for each of my imported entities to 0, attach them to the object context and then save changes?
View 1 Replies
Similar Messages:
Feb 8, 2011
I use the ObjectDataSource in an ASP.NET Application.
Using the ASPxGridView. When Updating it goes back to the Data Access Layer and tries to update the Entity, now as I can see while having some properites (Columns, Visible = false) when the entity arrives in the update method the visible = false columns have no values.
I don't want to show all the columns...what if I need 3 of the 30 columns? So I thought I would get the original entity from the context and merge the differences from the updated entity.
View 1 Replies
Mar 12, 2010
I have a Consumer class and a BillableConsumer : Consumer class. When trying to do any operation on my "Consumers" set, I get the error message "Object mapping could not be found for Type with identity Models.BillableConsumer.
From the CSDL:
[code]....
Is this because I did not specifically add the BillableConsumer entity to the object set? How do I do that in a POCO scenario?
View 1 Replies
May 22, 2010
And not doing a View that connect two tables ?Is there a way to connect two entities together in one new entity?
View 1 Replies
Oct 19, 2010
Due to the way the database was designed, in my model I have a User entity. The Contact entity inherits from the user entity, and the Profile entity inherits from the Contact entity.
How can I get a list of Profiles, and, how do I create a Profile?
View 1 Replies
Aug 13, 2010
let us assume that I have a reusable business layer that further makes use of a data access layer that was implemented using Entity Framework 4.0. The entities returned/consumed by the business layer are self-tracking, allowing us all the goodies that come with those type of entities. I would like to be able to store the entities I work with across post backs (on order to avoid re-querying every time). Basically let us assume I have a paged GridView with 10 items in it, and something like a DetailsView to edit those items. Every time you select a new row on the grid, the details view updates with the information of the selected row. My preference would be to only query for the entities on the initial request of the page and store it in session. Then subsequently I have a list of entities that I can work with and eventually modify and send back to the business layer with all of the changes.
I really want to use session instead of view state to reduce the page payload (self tracking entities are heavy) however I really like view state for this because of the fact that when the user navigates away from the page there is no residual effect. Some of the things that worry me are: When a user navigates away from the page to another page, the entities from the previous page are still in session. I could always do something on load of a page to do housekeeping type of work. Not sure if that's good practice. I am worried about people opening browser tabs and having two views into the same page, it seems like that might pose a problem. Is this even a good approach? Seems like I am trying to have the best of all worlds, it would definitely be much easier to simply re-query on every post back for the entities and pay the 50-100ms hit of the database trip.
View 2 Replies
Dec 14, 2010
I have a model that consists of Order, OrderLine, Product.
I want to create an Order and add OrderLines (each OrderLine related to a Product). I create the Order and add new OrderLines to it. Between posts I store the Order entity in Session (or ViewState). Just so you know I have added suppport for binary serialisation which works fine.
The relationship is therefore Order > OrderLine(s) > Product(s).
You might have already guessed what the problem is - that when I SaveChanges() I get the usual 'AcceptChanges cannot continue because the object's key values conflict with another object in the ObjectStateManager.' error.
I have referred to a number of articles online but none seem to handle this case (where I have the relationship across more than two entities) e.g. [URL].
This must be a very common requirement surely? Is there anyone out there doing the same kind of thing with Entity Framework (and without using DTOs etc)?
View 2 Replies
Mar 6, 2011
can we say like "Entity frame work make use of linq to entities"?
what is the relation between linq qnd entity frame work?
View 2 Replies
Apr 24, 2010
Was the new ViewStateMode property introduced to avoid breaking the existing EnableViewState?
Does setting EnableViewState = false at the page level cause the ViewStateMode setting to be ignored?
PS: What is CW in stackoverflow?
View 1 Replies
Mar 6, 2011
I'm using Entity Framework for my object-relational mapping, and jqGrid for my grid.
I have an Employee entity, that contains a ContactID field. I have a Contact entity that contains fields FirstName and LastName.
I want to display a list of Employees in a grid, and give the user the ability to sort by FirstName and LastName.
Here's what I have right now:
public JsonResult GridData(string sidx, string sord, int page, int rows)
{
var pageIndex = Convert.ToInt32(page) - 1;
var pageSize = rows;
var totalRecords = GetAllEmployees().Count();
var totalPages = (int)Math.Ceiling(totalRecords / (float)pageSize);
IQueryable<Employee> employees = GetAllEmployees().
OrderBy(sidx + " " + sord).
Skip(pageIndex * pageSize).
Take(pageSize).ToArray();
}
As you can see, this only gives me the ability to sort by fields in the Employee entity, so I can't sort by FirstName and LastName.
How can I modify this to accomplish that?
View 1 Replies
Mar 3, 2010
I am trying to get some guidance with this issue:
I have a Customer object that has two address ID fields (one for HomeAddress and one for WorkAddress)
I am loading the Address Objects by using Include="HomeAddress, WorkAddress" and then binding to the properties using the Navigation Property on the Customer Entity
Can I use just one FormView for doing the Insert/Updates and binding it to an EntityDataSource or would I have to do all the Inserting/Updating manually?
View 1 Replies
Feb 4, 2010
Using a very run-of-the-mill database, with identity int for primary keys, a Dynamic Data Entities Project (EntityFramework) displays the primary key for view and edit. When using Linq to Sql, the primary key fields are not displayed.
I would like to hide the primary keys and use Entity Framework (VS 2008, .Net 3.5 sp1).
View 1 Replies
Mar 7, 2011
I'm new to ASP.NET MVC and I'm trying to implement an address manager.I'm using Linq2Entity Framework. I've got a table with contacts and one with phone numbers. These two tables are linked by a contact_has_phone_number table. The Entity Framework enables me to get all phone numbers that are assigned to one contact. This is done by calling contact.PhoneNumbers which returns a collection of phone numbers.
View 1 Replies
Mar 14, 2011
I have a simple Entity query:
[code]....
I then check whether one of the result values is more recent than six months ago using an if..then like so:
If rhcexists.First.SignatureDate > Date.Today.AddMonths(-6) Then
End If
However, if there are no results returned this will return an error. Is there a way for me to tell it to act as if the date is older than six months if there is no value at all? e.g., could I in pseudo do something like:
If Exists(rhcexists.First.SignatureDate, Date.Today.AddMonths(-8)) > Date.Today.AddMonths(-6) Then
End If
View 2 Replies
Jun 9, 2010
I have a weired problem. One of the pages in my application show's status of tasks in a table. I am using entity framework ( entity to object) to do all the data handling with DB. I noticed that even though the status is updated in DB, its not reflected on my webpage even after continuous refresh! If i stop the server and start the application again (currently running on VS2008 dev server) the updated data is displayed!
Am I seeing the cached data? how do I prevent this from happening?
View 1 Replies
Mar 15, 2011
I created two stored procedures in SQL Server Management Studio.
First procedure add field in ProjcetsToUsers table (for many-to-many associations)
[code]....
I can delete the user from the project and then add another, and the new one is added but removed the remains.
As for data base both this function work correctly.
View 1 Replies
Nov 6, 2010
I can't seem to figure out how to write this query properly. I've tried various combinations but nothing's worked yet. Below is the relevant portion of my database model: I need to select the products that match a given Category and Group, and that match a given Year, Make, Model, submodel. This I've done below:
ItemList = From P In gDataContext.Products.Include("Groups").Include("Groups.Category1").Include("LookupYearMakeModels") From G In P.Groups Where G.Category = Cat And G.Grp = Group From Y In P.LookupYearMakeModels Where Y.Year = YMM.Year And Y.Make = YMM.Make And Y.Model = YMM.Model And Y.Submodel = YMM.Submodel Select P
I now also have to select products that match the Category, and Group but are Universal (Product.Univeral = True). I'm currently writing two queries, the one above and the one below. I'm merging the results of the two by simply using ItemList.AddRange(ItemList2) ItemList2 = From P In gDataContext.Products.Include("Groups").Include("Groups.Category1") where P.Universal From G In P.Groups Where G.Category = Cat And G.Grp = Group Select P But I want to combine both queries into one and avoid merging the results. How can I do it?
View 2 Replies
Jun 11, 2010
How can I update an existing LINQ entity? This code gives me: "Cannot insert an entity that already exists."
Any better practises on updating/inserting with linq?
foreach (ListViewItem lvi in lvStudents.Items)
{
HiddenField hfStudentID = lvi.FindControl("hfID") as HiddenField;
CheckBox cbPresent = lvi.FindControl("mycb") as CheckBox;
int sInt = Int32.Parse(hfStudentID.Value);
dc = new DataClassesSODataContext();//I renewed the dc to make sure that wasn't the problem?
var currStudent = dc.students.Single(x => x.studentID == sInt);
grade g = dc.grades.Single(x => x.subjectID == subjID || x.studentID == sInt);
if (g == null)
{
g = new grade();
g.subject = dc.subjects.Single(x => x.subjectID == subjID);
g.student = currStudent;
g.present = cbPresent.Checked;
dc.grades.InsertOnSubmit(g);
} else
{
g.present = cbPresent.Checked;
dc.grades.Attach(g, true);//I tried both attaching and inserting
}
}
dc.SubmitChanges();
View 1 Replies
Oct 14, 2010
I always get this error when the table is existing in the database:
[Code]....
The inner exception of the error is this:
[Code]....
I checked the following for possible errors.
webconfig (both the values of the SQL connection string and the NHibernate connection string are the same)checked the existence of the tables.
Imagine that there are 4 records to be updated/inserted. The first 3 are successful. However, when the last record is to be inserted/updated, the error is thrown.
View 10 Replies
Feb 2, 2011
I have an ASP.NET application with existing business classes and a database schema. (which I would like to keep) Currently I am using ADO.NET for the DAL, but I would like to switch to some advanced technology there for easier data retrieval.
Is EF applicable to my situation? Can I use it without splitting up my business classes and auto code generation? Can LINQ to SQL solve my problem better?
All I want to do is map my existing classes to the existing tables and dont have to handle details of the data retrieval myself.
View 1 Replies
Oct 11, 2010
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]...
View 2 Replies
May 10, 2010
How do you delete more than one entity at the same time in the designer Entities list. it seems that the designer interface only allows the selection of 1 entity at a time....
View 1 Replies
Oct 10, 2010
DbClick the code behind file of NerdDiner.edmx,It reads "This code was generated from a template." on the top comment lines. I generate my own .edmx file automatically with VS2010, just found that the .designer.cs file didnt contains Objectset,Methods as nerddinner does IDK which template hanselman used to generate this .edmx files,dont tell me he wrote it all by himself! Shoud .edmx and its code behind file be generated automaticlly without hard-coding?
View 4 Replies
Nov 16, 2010
I have a datamodel with a couple of tables. One of my tables have about 40 fields (I know that is a lot, but we have to keep the structure in place as we are upgrading a classic ASP project to MVC). Some of my Actions only updates 1 or 2 fields in my table.
Is there a way to create Entities, for instance, that only contains the contact details of the client table, and not any other details, and then another entity that contains only the address details. I don't want to submit the entire row when I only update telephone details, or the client's picture.
View 1 Replies
Apr 13, 2010
I am creating an Asp.net web site which will support dynamic data. When I am creating a dynamic web site from Scratch (from template in VS) all is working fine. But when I am trying to add dynamic entity (.edmx) file and running the application I am getting following error
"The method 'Skip' is only supported for sorted input in LINQ to Entities. The method 'OrderBy' must be called before the method 'Skip'. "
View 2 Replies