Ureader.com  
Microsoft software help and Community
   home   |   control panel login   |   archive   |  
 
DotNet
acad.assignment.mngr
academic
adonet
aspnet
aspnet.announcements
aspnet.build.controls
aspnet.caching
aspnet.datagridcontrol
aspnet.mobile
aspnet.security
aspnet.webcontrols
aspnet.webservices
clr
compactframework
component_services
datatools
distributed_apps
drawing
faqs
framework
framework.wmi
general
internationalization
interop
languages.csharp
languages.jscript
languages.vb
languages.vb.controls
languages.vb.data
languages.vb.upgrade
languages.vc
languages.vc.libraries
myservices
odbcnet
performance
remoting
scripting
sdk
security
setup
vjsharp
vsa
webservi.enhancements
webservices
windowsforms
windowsforms.controls
winforms.databinding
winforms.designtime
xml
  
 
date: Fri, 3 Jul 2009 16:57:23 -0700 (PDT),    group: microsoft.public.dotnet.framework.aspnet        back       


Entity Framework - Reassigning child entity's parent   
The following seems like a simple enough operation, but for some
reason I can't figure it out.

In a parent-child relationship I want to move a child to a different
parent. I figured that it would be as easy as
"Parent.ChildCollection.Attach(ChildToTransfer)" but it doesn't work.
All of the entities are attached to the same object context and
already exist in the database. No inserting here, just updating.

At the time that ".SaveChanges()" is called on the container, the
states of the various entities are thus:
Parent.EntityState = Modified (Due to other code)
Parent.ChildCollection contains the ChildToTransfer
Child.Parent = The new Parent (correct)
BUT Child.EntityState = Unchanged

The parent gets updated, but the child record doesn't.

Any help would be appreciated and thanks in advance.

- Norm
date: Fri, 3 Jul 2009 16:57:23 -0700 (PDT)   author:   Norm

Re: Entity Framework - Reassigning child entity's parent   
"Norm"  wrote in message 
news:74735735-6430-47c6-b29c-65091d724647@v23g2000pro.googlegroups.com...
> The following seems like a simple enough operation, but for some
> reason I can't figure it out.
>
> In a parent-child relationship I want to move a child to a different
> parent. I figured that it would be as easy as
> "Parent.ChildCollection.Attach(ChildToTransfer)" but it doesn't work.
> All of the entities are attached to the same object context and
> already exist in the database. No inserting here, just updating.
>
> At the time that ".SaveChanges()" is called on the container, the
> states of the various entities are thus:
> Parent.EntityState = Modified (Due to other code)
> Parent.ChildCollection contains the ChildToTransfer
> Child.Parent = The new Parent (correct)
> BUT Child.EntityState = Unchanged
>
> The parent gets updated, but the child record doesn't.
>
> Any help would be appreciated and thanks in advance.
>

Well, I have over 40 entities on the EF model using a WCF Web service on the 
backend that has the BLL and the DAL behind the WCF Web service SOA 
solution, used by an ASP.NET UI front-end.

I learned to remove the associations/relationships between entities on the 
model, keeping the constants on the SQL tables themselves.

That way, I have complete control of the EF model, no surprises.



__________ Information from ESET NOD32 Antivirus, version of virus signature database 4214 (20090703) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com
date: Fri, 3 Jul 2009 20:38:18 -0400   author:   Mr. Arnold MR.

Re: Entity Framework - Reassigning child entity's parent   
On Jul 3, 5:38 pm, "Mr. Arnold" <MR. Arn...@Arnold.com> wrote:
> "Norm"  wrote in message
>
> news:74735735-6430-47c6-b29c-65091d724647@v23g2000pro.googlegroups.com...
>
>
>
>
>
> > The following seems like a simple enough operation, but for some
> > reason I can't figure it out.
>
> > In a parent-child relationship I want to move a child to a different
> > parent. I figured that it would be as easy as
> > "Parent.ChildCollection.Attach(ChildToTransfer)" but it doesn't work.
> > All of the entities are attached to the same object context and
> > already exist in the database. No inserting here, just updating.
>
> > At the time that ".SaveChanges()" is called on the container, the
> > states of the various entities are thus:
> > Parent.EntityState = Modified (Due to other code)
> > Parent.ChildCollection contains the ChildToTransfer
> > Child.Parent = The new Parent (correct)
> > BUT Child.EntityState = Unchanged
>
> > The parent gets updated, but the child record doesn't.
>
> > Any help would be appreciated and thanks in advance.
>
> Well, I have over 40 entities on the EF model using a WCF Web service on the
> backend that has the BLL and the DAL behind the WCF Web service SOA
> solution, used by an ASP.NET UI front-end.
>
> I learned to remove the associations/relationships between entities on the
> model, keeping the constants on the SQL tables themselves.
>
> That way, I have complete control of the EF model, no surprises.
>
> __________ Information from ESET NOD32 Antivirus, version of virus signature database 4214 (20090703) __________
>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com- Hide quoted text -
>
> - Show quoted text -

Mr. Arnold,

While that is a valid answer, I am not in a posistion where I can redo
the model in such a way.  After running into this and seeing your
answer (and the lack of anyone elses), I am inclined to not use EF in
the future. However, I am still in need of a solution for my current
project.

- Norm
date: Mon, 6 Jul 2009 10:32:20 -0700 (PDT)   author:   Norm

Re: Entity Framework - Reassigning child entity's parent   
On Jul 6, 10:32 am, Norm  wrote:
> On Jul 3, 5:38 pm, "Mr. Arnold" <MR. Arn...@Arnold.com> wrote:
>
>
>
>
>
> > "Norm"  wrote in message
>
> >news:74735735-6430-47c6-b29c-65091d724647@v23g2000pro.googlegroups.com..> > > The following seems like a simple enough operation, but for some
> > > reason I can't figure it out.
>
> > > In a parent-child relationship I want to move a child to a different
> > > parent. I figured that it would be as easy as
> > > "Parent.ChildCollection.Attach(ChildToTransfer)" but it doesn't work.
> > > All of the entities are attached to the same object context and
> > > already exist in the database. No inserting here, just updating.
>
> > > At the time that ".SaveChanges()" is called on the container, the
> > > states of the various entities are thus:
> > > Parent.EntityState = Modified (Due to other code)
> > > Parent.ChildCollection contains the ChildToTransfer
> > > Child.Parent = The new Parent (correct)
> > > BUT Child.EntityState = Unchanged
>
> > > The parent gets updated, but the child record doesn't.
>
> > > Any help would be appreciated and thanks in advance.
>
> > Well, I have over 40 entities on the EF model using a WCF Web service on the
> > backend that has the BLL and the DAL behind the WCF Web service SOA
> > solution, used by an ASP.NET UI front-end.
>
> > I learned to remove the associations/relationships between entities on the
> > model, keeping the constants on the SQL tables themselves.
>
> > That way, I have complete control of the EF model, no surprises.
>
> > __________ Information from ESET NOD32 Antivirus, version of virus signature database 4214 (20090703) __________
>
> > The message was checked by ESET NOD32 Antivirus.
>
> >http://www.eset.com-Hide quoted text -
>
> > - Show quoted text -
>
> Mr. Arnold,
>
> While that is a valid answer, I am not in a posistion where I can redo
> the model in such a way.  After running into this and seeing your
> answer (and the lack of anyone elses), I am inclined to not use EF in
> the future. However, I am still in need of a solution for my current
> project.
>
> - Norm- Hide quoted text -
>
> - Show quoted text -

I have found the problem. It (of course) had nothing to do with the
Entity Framework.
/sigh

Note: "Parent.ChildCollection.Attach(ChildToTransfer)" is not correct.
Use "ChildToTransfer.Parent = NewParent"

- Norm
date: Mon, 6 Jul 2009 12:28:10 -0700 (PDT)   author:   Norm

Re: Entity Framework - Reassigning child entity's parent   
"Norm"  wrote in message 
news:2dafade8-02bb-4265-82a4-09ef58176782@j9g2000prh.googlegroups.com...
On Jul 6, 10:32 am, Norm  wrote:
> On Jul 3, 5:38 pm, "Mr. Arnold" <MR. Arn...@Arnold.com> wrote:
>
>
>
>
>
> > "Norm"  wrote in message
>
> >news:74735735-6430-47c6-b29c-65091d724647@v23g2000pro.googlegroups.com...
>
> > > The following seems like a simple enough operation, but for some
> > > reason I can't figure it out.
>
> > > In a parent-child relationship I want to move a child to a different
> > > parent. I figured that it would be as easy as
> > > "Parent.ChildCollection.Attach(ChildToTransfer)" but it doesn't work.
> > > All of the entities are attached to the same object context and
> > > already exist in the database. No inserting here, just updating.
>
> > > At the time that ".SaveChanges()" is called on the container, the
> > > states of the various entities are thus:
> > > Parent.EntityState = Modified (Due to other code)
> > > Parent.ChildCollection contains the ChildToTransfer
> > > Child.Parent = The new Parent (correct)
> > > BUT Child.EntityState = Unchanged
>
> > > The parent gets updated, but the child record doesn't.
>
> > > Any help would be appreciated and thanks in advance.
>
> > Well, I have over 40 entities on the EF model using a WCF Web service on 
> > the
> > backend that has the BLL and the DAL behind the WCF Web service SOA
> > solution, used by an ASP.NET UI front-end.
>
> > I learned to remove the associations/relationships between entities on 
> > the
> > model, keeping the constants on the SQL tables themselves.
>
> > That way, I have complete control of the EF model, no surprises.
>
> > __________ Information from ESET NOD32 Antivirus, version of virus 
> > signature database 4214 (20090703) __________
>
> > The message was checked by ESET NOD32 Antivirus.
>
> >http://www.eset.com-Hide quoted text -
>
> > - Show quoted text -
>
> Mr. Arnold,
>
> While that is a valid answer, I am not in a posistion where I can redo
> the model in such a way. After running into this and seeing your
> answer (and the lack of anyone elses), I am inclined to not use EF in
> the future. However, I am still in need of a solution for my current
> project.
>
> - Norm- Hide quoted text -
>
> - Show quoted text -

I have found the problem. It (of course) had nothing to do with the
Entity Framework.
/sigh

Note: "Parent.ChildCollection.Attach(ChildToTransfer)" is not correct.
Use "ChildToTransfer.Parent = NewParent"


Well, no matter what ORM solution one uses including nHibernate and others, 
there is always going to be a learning curve.


__________ Information from ESET NOD32 Antivirus, version of virus signature database 4219 (20090705) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com
date: Mon, 6 Jul 2009 16:09:37 -0400   author:   Mr. Arnold MR.

Google
 
Web ureader.com


    COPYRIGHT 2007, YARDI TECHNOLOGY LIMITED, ALL RIGHT RESERVE  |   contact us