Net Framework, Office 365, C#, WPF, ASP.Net, Visual Studio, Programmiersprachen PC, C# Programmieren, vba, SQL Server, free source code snippets Antivirus free
#

 

 

Fehlermeldung

ex.InnerException = {System.Data.SqlClient.SqlException (0x80131904):

 

Die IDUser-Identitätsspalte kann nicht aktualisiert werden.

   at System.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__108_0(Task`1 result)

   at System.Threading.Tasks.ContinuationResultTaskF...

 

 

In English

Cannot insert explicit value for identity column in table 'Filialen' when IDENTITY_INSERT is set to OFF.

 

Fehler Code

Der Fehler tritt auf, wenn man wie hier einen Datensatz beim aspnetuser plus Identity Spalte speichern möchte

ApplicationUser profil = await _dbContext.Users.SingleOrDefaultAsync(u => u.IDUser == IDCurrent_User);

profil.UserName =sUsername;

_dbContext.Update(profil);

await _dbContext.SaveChangesAsync();

 

Lösung:

Wenn man sich mit dbContext einen Datensatz vom Server geholt hat und diesen ändert,

dann darf man nicht mit .update(Datensatz) den kompletten Datensatz als geändert eintragen.

Da die Änderung schon in EF Entity Framework über dbContext eingestellt wird, muss man final nur noch mit .SaveChanges die geänderten Felder zum Server übertragen.

Die Zeile dbContext.Update(Datensatz) muss entfallen.

 

Lösungs-Code C# Asp Mvc

            //< check Owner >

            ApplicationUser profil = await _dbContext.Users.SingleOrDefaultAsync(u => u.IDUser == IDCurrent_User);

            if (profil == null)

            {

                return Content("Owner not found");// NotFound();

            }

            //</ check Owner >

 

            string sUsername = Request.Form["Username"];

 

            //----< Edit Data >---- 

            profil.UserName =sUsername;           

            //----</ Edit Data >---- 

 

            //----< Save Data >----           

            try

            {

                //no extra.update recordset !

                await _dbContext.SaveChangesAsync();

            }

            catch (DbUpdateConcurrencyException)

            {

                return Content("Update Error");

            }

            //----</ Save Data >----

 

 

 

 

 

Der Fehler tritt bei Asp Anwendungen auf, wenn man in einer Tabelle wie AspNetUsers eine zusätzliche Identity Spalte einfügt.

Da Microsoft schon mit der Id eine eindeutige PrimaryKey als Guid verwendet,  darf auf primarykey Id und Identity ID nicht schreibend zugegriffen werden.

Man darf in solchen Tabellen nur die geänderten Spalten schreiben.

 

Kompletter Lösungs-Code in Asp.Net Core MVC

// Postback: User/Edit_Profile

[Authorize]

[HttpPost]

public async Task<IActionResult> Edit_Profile_Postback()

{

// -------------< Edit_Profile() > -------------

//--< Get User ID >--

//internal referenz-Number for tracking in tables

long IDCurrent_User = await UserInfo_Methods.getIDUser_as_Number(this.User, _dbContext);

//--</ Get User ID >--

 

//< check Owner >

ApplicationUser profil = await _dbContext.Users.SingleOrDefaultAsync(u => u.IDUser == IDCurrent_User);

if (profil == null)

{

    return Content("Owner not found");// NotFound();

}

//</ check Owner >

 

string sUsername = Request.Form["Username"];

 

//----< Edit Data >---- 

profil.UserName =sUsername;

//----</ Edit Data >---- 

 

//----< Save Data >----

try

{

    //_dbContext.Users.Attach(profil).Property(x => x.UserName).IsModified = true;

   

    //_dbContext.Update(profil);

    await _dbContext.SaveChangesAsync();

}

catch (DbUpdateConcurrencyException)

{

    return Content("Update Error");

}

//----</ Save Data >----

 

//</ check Owner >

return View("Edit_Profile",profil);

 

// -------------</ Edit_Profile() > -------------

        }

 

Mobile
»
Upload von sehr großen Dateien in Asp.Net MVC Core 2 einstellen.
»
Fehler: Identitätsspalte kann nicht aktualisiert werden, IDENTITY_INSERT is set to OFF
»
Asp Fehler: IDENTITY_INSERT OFF beim Zugriff auf AspNetUsers Registrierung
»
IIS Fehler: 440.13 Not Found. Upload Dateigröße überschritten
»
InvalidOperationException: An exception occurred while reading a database value for property
»
Asp Fehler: A database operation failed while processing the request. SqlException: Ungültiger Objektname
»
InvalidOperationException: No database provider has been configured for this DbContext
»
NullReferenceException: Object reference not set to an instance of an object.
»
InvalidOperationException: The expected type was System.Boolean but the actual value was null.
»
Asp: InvalidOperationException: The model item passed into the ViewDataDictionary is of type

.

Jobs, Projekte, Angebote für Freiberufler, Selbstständig an Raimund.Popp@Microsoft-Programmierer.de