ईएफ 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' में पहचान कॉलम के लिए स्पष्ट मान सम्मिलित नहीं किया जा सकता"।