Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak mogę wymusić w strukturze encji wstawianie kolumn tożsamości?

EF 6 metoda, korzystając z artykułu msdn:

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();
}

Aktualizacja: Aby uniknąć błędu „Wyraźna wartość musi być określona dla kolumny tożsamości w tabeli 'TableName', gdy IDENTITY_INSERT jest ustawione na ON lub gdy użytkownik replikacji wstawia do kolumny tożsamości NOT FOR REPLICATION”, należy zmienić wartość StoreGeneratedPattern właściwość kolumny tożsamości od Identity do Brak w projektancie modeli.

Uwaga, zmiana StoreGeneratedPattern na None spowoduje niepowodzenie wstawienia obiektu bez określonego identyfikatora (w normalny sposób) z błędem „Nie można wstawić jawnej wartości dla kolumny tożsamości w tabeli „TableName”, gdy IDENTITY_INSERT jest ustawione na OFF”.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czym są dane i informacje oraz wolumeny danych

  2. Błąd 28000:Logowanie nie powiodło się dla użytkownika DOMENA\\użytkownik z pyodbc

  3. Zrozumienie blokad SQL Server w zapytaniach SELECT

  4. SqlDependency nie uruchamia zdarzenia OnChange po zmianie zestawu danych

  5. Czy istnieje sposób na osadzenie raportów i pulpitów nawigacyjnych Power Bi w aplikacji desktopowej vb.net lub C# z bazą danych sql Server 2008?