Solved

Simply take a row from one datacontext and write it to an identical database table in another datacontext

Posted on 2009-05-09
4
542 Views
Last Modified: 2013-11-11
This worked until a few days ago on my test system, I don't know what circumstances changed but what am I doing wrong please?

I have two databases on my sql server. One is the master database and holds a single row (with 25 columns) per item stored.  I have a duplicate table on a separate database on the same server that I use like an archive.

In my code behind, I set up two datacontexts, one pointing to the master database table and one (that uses a different connection string on creation) that points to the archive database table. This all works fine and both datacontexts are available and working.

I then read a single row from masterdatacontext into an entity called, say, "masterRec" and then try and do an "insertonsubmit" on the archive datacontext using the whole "masterRec" I've read.  I don't want to have to specify each individual column in the write as this is hideously inefficient and long-winded.

This all worked fine for a week or two, but today it doesn't work. There is an exception about trying to attach an invalid datacontext or something?

All I want to do is read from one datacontext and write the whole row in one go to the archive datacontext. That's not too much to ask is it?
0
Comment
Question by:carled
  • 2
4 Comments
 
LVL 96

Expert Comment

by:Bob Learned
ID: 24346002
1) I don't know LINQ that well to answer your question as is.

2) This question has been open for a while, without response.

3) I like questions that challenge me to find an answer for things that I don't understand.

4) I would like to help you, but it might be easier if you show me what you have tried, and what has failed (exact exceptions).
0
 
LVL 1

Author Comment

by:carled
ID: 24347634
In a nutshell in pseudo-code:

dim altConnString as string = "alternative db connection string"
dim dc1 as db1datacontext = new db1datacontext (default data context)
dim dc2 as db2datacontext = new db1datacontext(altConnString) (same datacontext, different connection string)

dim dc1Rec = (from dc1.table1 where x=y select).firstordefault
if (not dc1Rec is nothing) then
    dc2.table1.insertOnSubmit(dc1Rec)
    dc2.submitChanges()
end if

Like I say, this worked a week or so back as I got data onto the second database, but whether that was a peculiarity of connection strings or something, I don't know, as the above code now generates:
"An attempt has been made to Attach or Add an entity that is not new, perhaps having been loaded from another DataContext. This is not supported."
0
 
LVL 96

Accepted Solution

by:
Bob Learned earned 250 total points
ID: 24348140
What does the table structure look like?  Do you have dependent objects?  

I did find a suggestion that you detach from the first DataContext, and then attach to the second.

Linq to SQL: How to Attach object to a different data context
http://weblogs.asp.net/omarzabir/archive/2007/12/08/linq-to-sql-how-to-attach-object-to-a-different-data-context.aspx
0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

Suggested Solutions

Welcome my friends to the second instalment and follow-up to our Minify and Concatenate Your Scripts and Stylesheets (http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/A_4334-Minify-and-Concatenate-Your-Scripts-and-Stylesheets.html)…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now