Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

लिंक से SQL

ठीक है, तो आपको यह त्रुटि मिल रही है,

http://msdn.microsoft.com/en -us/library/system.data.linq.foreignkeyreferencealreadyhasvalueexception.aspx

विदेशीकी संदर्भ पहले से ही हैसवैल्यू अपवाद

और लिंक इसके बारे में यही कहता है,

उन त्रुटियों का प्रतिनिधित्व करता है जो तब होती हैं जब इकाई पहले ही लोड हो जाने पर किसी विदेशी कुंजी को बदलने का प्रयास किया जाता है।

मुझे लगता है कि आपको जो करना है वह उस ऑर्डर को लोड करना है जिसके बारे में आप बात कर रहे हैं, और इसमें इसके साथ जुड़े ऑर्डर विवरण की एक सूची होगी। यदि आप उन संदर्भों में से किसी एक को हटाना चाहते हैं तो आपको ऑर्डर विवरण सूची से ऑर्डर विवरण निकालना होगा।

मुझे लगता है कि आपको ऐसा कुछ करने की ज़रूरत है,

using (DataClasses1DataContext context = new DataClasses1DataContext())
{
    Customer customer = context.Customers.Where(x => x.CustomerID == 1).Single();
    Order order = new Order();
    // set some order fields here
    customer.Orders.Add(order);

    OrderDetail orderDetail = new OrderDetail();
    order.OrderDetails.Add(orderDetail);

    orderDetail.Product = context.Products.Where(x => x.ProductID == 2).Single();
    orderDetail.ProductID = orderDetail.Product.ProductID;

    context.SubmitChanges();
}

इसे InsertOnSubmit के बिना आज़माएं, लेकिन फिर भी सबमिट चेंज रखें। मेरा सुझाव है कि क्योंकि आप पहले से ही इसे सेट करके रिकॉर्ड जोड़ रहे हैं,

order.OrderDetails.Add(orderDetail);

तो शायद आपको इसे दोबारा डालने की जरूरत नहीं है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL में डिलीट स्टेटमेंट बहुत धीमा है

  2. SQL सर्वर 2008 और हैशबाइट्स

  3. MSSQL में वर्ष और सप्ताह संख्या से निर्माण की तारीख

  4. मैं सी # से .sql कैसे निष्पादित कर सकता हूं?

  5. एसक्यूएल सर्वर में डेटाटाइम में शून्य सम्मिलित नहीं कर सकता