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

पहचान कॉलम डालने के लिए मैं इकाई ढांचे को कैसे मजबूर कर सकता हूं?

ईएफ 6 एमएसडीएन लेख का उपयोग करके विधि:

using (var dataContext = new DataModelContainer())
using (var transaction = dataContext.Database.BeginTransaction())
{
    var user = new User()
    {
        ID = id,
        Name = "John"
    };

    dataContext.Database.ExecuteSqlCommand("SET IDENTITY_INSERT [dbo].[User] ON");

    dataContext.User.Add(user);
    dataContext.SaveChanges();

    dataContext.Database.ExecuteSqlCommand("SET IDENTITY_INSERT [dbo].[User] OFF");

    transaction.Commit();
}

अपडेट करें: त्रुटि से बचने के लिए "तालिका 'टेबलनाम' में पहचान कॉलम के लिए स्पष्ट मान निर्दिष्ट किया जाना चाहिए जब IDENTITY_INSERT चालू पर सेट हो या जब कोई प्रतिकृति उपयोगकर्ता प्रतिकृति पहचान कॉलम के लिए नहीं डाल रहा हो", तो आपको StoreGeneratedPattern<का मान बदलना चाहिए /मजबूत> पहचान कॉलम की संपत्ति से कोई नहीं मॉडल डिजाइनर में।

ध्यान दें, StoreGeneratedPattern को कोई नहीं में बदलने से त्रुटि के साथ निर्दिष्ट आईडी (सामान्य तरीका) के बिना ऑब्जेक्ट डालने में विफल हो जाएगा "IDENTITY_INSERT के बंद होने पर तालिका 'TableName' में पहचान कॉलम के लिए स्पष्ट मान सम्मिलित नहीं किया जा सकता"।



  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 सर्वर में IIF () कैसे काम करता है

  2. SQL क्वेरी ऑप्टिमाइज़ेशन:बेहतर प्रदर्शन के लिए सर्वोत्तम अभ्यास

  3. MySQL - तालिका बनाते समय एक साथ उपयोग किए जाने पर प्राथमिक कुंजी, अद्वितीय कुंजी और कुंजी का अर्थ

  4. वेब ऐप से क्वेरी टाइम आउट लेकिन प्रबंधन स्टूडियो से ठीक चलता है

  5. एसक्यूएल क्रॉस जॉइन - इसके लिए किसी ने क्या उपयोग किया है?