Ungültiger Umwandlungsfehler beim Abfragen der DatenbankC#

Ein Treffpunkt für C#-Programmierer
Guest
 Ungültiger Umwandlungsfehler beim Abfragen der Datenbank

Post by Guest »

Ich entwickle eine Konsolen-App in .NET Core zum Lesen/Schreiben in einer Datenbank und verwende dabei denselben Code (mit geringfügigen Änderungen) wie meine vorherige App (für das Web, geschrieben in ASP.NET MVC).

Wenn ich jedoch die Datenbank abfrage, löst das Programm (das ausgeführt wird) eine ungültige Umwandlungsausnahme aus


System.InvalidCastException: 'Objekt dieses Typs kann nicht umgewandelt werden „Microsoft.Data.SqlClient.SqlCommand“ zum Typ „System.Data.SqlClient.SqlCommand“.


Aber diese Befehle laufen ohne Probleme in meiner Web-App.

Könnte Hilft mir jemand, dieses Problem zu lösen?

Eine .csproj-Datei:

Code: Select all

…

Exe
netcoreapp2.1


…

…




…

Meine Hauptroutine in Program.cs, wo ich die App konfiguriere:

Code: Select all

using System;
using System.IO;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.SqlServer;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Newtonsoft.Json;
using System.Collections.Generic;
…
var optionsBuilder = new DbContextOptionsBuilder();

optionsBuilder
.UseSqlServer(connectionString, providerOptions => providerOptions.CommandTimeout(60));

using (fmDataContext context = new fmDataContext(optionsBuilder.Options))
…
Meine Anfrage an die Datenbank, wo der Fehler auftritt (in meiner Datenkontextklasse):

Code: Select all

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.SqlServer;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
…
DataTable dt = new DataTable();

DbConnection connection = Database.GetDbConnection();//)
using (DbCommand cmd = connection.CreateCommand())
using (DbDataAdapter sda = new SqlDataAdapter((SqlCommand)cmd))
{
cmd.CommandText = sqlQuery;
cmd.CommandType = CommandType.Text;
connection.Open();
rows_returned = sda.Fill(dt);
connection.Close();
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post