public record Partition(string PartitionName, int OrdinalPosition);
public class MysqlService
{
//...
public IEnumerable
GetPartitions(string tableName)
{
using var conn = new MySqlConnection(_dbConnString);
conn.Open();
return conn.Query(
$"SELECT PARTITION_NAME, PARTITION_ORDINAL_POSITION " +
$"FROM information_schema.partitions WHERE TABLE_NAME = '{tableName}';");
}
}
Unhandled exception. System.InvalidOperationException: A parameterless default constructor or one matching signature (System.String PARTITION_NAME, System.UInt64 PARTITION_ORDINAL_POSITION) is required for Services.Partition materialization
at Dapper.SqlMapper.GenerateDeserializerFromMap(Type type, IDataReader reader, Int32 startBound, Int32 length, Boolean returnNullIfFirstMissing, ILGenerator il) in /_/Dapper/SqlMapper.cs:line 3297
at Dapper.SqlMapper.GetTypeDeserializerImpl(Type type, IDataReader reader, Int32 startBound, Int32 length, Boolean returnNullIfFirstMissing) in /_/Dapper/SqlMapper.cs:line 3131
at Dapper.SqlMapper.TypeDeserializerCache.GetReader(IDataReader reader, Int32 startBound, Int32 length, Boolean returnNullIfFirstMissing) in /_/Dapper/SqlMapper.TypeDeserializerCache.cs:line 151
at Dapper.SqlMapper.TypeDeserializerCache.GetReader(Type type, IDataReader reader, Int32 startBound, Int32 length, Boolean returnNullIfFirstMissing) in /_/Dapper/SqlMapper.TypeDeserializerCache.cs:line 50
at Dapper.SqlMapper.GetTypeDeserializer(Type type, IDataReader reader, Int32 startBound, Int32 length, Boolean returnNullIfFirstMissing) in /_/Dapper/SqlMapper.cs:line 3085
at Dapper.SqlMapper.GetDeserializer(Type type, IDataReader reader, Int32 startBound, Int32 length, Boolean returnNullIfFirstMissing) in /_/Dapper/SqlMapper.cs:line 1835
at Dapper.SqlMapper.QueryImpl[T](IDbConnection cnn, CommandDefinition command, Type effectiveType)+MoveNext() in /_/Dapper/SqlMapper.cs:line 1105
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at Dapper.SqlMapper.Query[T](IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Boolean buffered, Nullable`1 commandTimeout, Nullable`1 commandType) in /_/Dapper/SqlMapper.cs:line 734
...
Wie kann ich das beheben?
Ich habe versucht, UInt64 anstelle von int für den Typ von OrdinalPosition zu verwenden, aber der gleiche Fehler ist aufgetreten. Meine Umgebung:
[url=viewtopic.php?t=30561]Ich möchte[/url] eine Liste der Partitionen für eine bestimmte Tabelle erhalten. [code]public record Partition(string PartitionName, int OrdinalPosition);
public class MysqlService { //...
public IEnumerable GetPartitions(string tableName) { using var conn = new MySqlConnection(_dbConnString); conn.Open(); return conn.Query( $"SELECT PARTITION_NAME, PARTITION_ORDINAL_POSITION " + $"FROM information_schema.partitions WHERE TABLE_NAME = '{tableName}';"); } } [/code] Aber mein Code gibt einen Fehler wie aus[code]Unhandled exception. System.InvalidOperationException: A parameterless default constructor or one matching signature (System.String PARTITION_NAME, System.UInt64 PARTITION_ORDINAL_POSITION) is required for Services.Partition materialization at Dapper.SqlMapper.GenerateDeserializerFromMap(Type type, IDataReader reader, Int32 startBound, Int32 length, Boolean returnNullIfFirstMissing, ILGenerator il) in /_/Dapper/SqlMapper.cs:line 3297 at Dapper.SqlMapper.GetTypeDeserializerImpl(Type type, IDataReader reader, Int32 startBound, Int32 length, Boolean returnNullIfFirstMissing) in /_/Dapper/SqlMapper.cs:line 3131 at Dapper.SqlMapper.TypeDeserializerCache.GetReader(IDataReader reader, Int32 startBound, Int32 length, Boolean returnNullIfFirstMissing) in /_/Dapper/SqlMapper.TypeDeserializerCache.cs:line 151 at Dapper.SqlMapper.TypeDeserializerCache.GetReader(Type type, IDataReader reader, Int32 startBound, Int32 length, Boolean returnNullIfFirstMissing) in /_/Dapper/SqlMapper.TypeDeserializerCache.cs:line 50 at Dapper.SqlMapper.GetTypeDeserializer(Type type, IDataReader reader, Int32 startBound, Int32 length, Boolean returnNullIfFirstMissing) in /_/Dapper/SqlMapper.cs:line 3085 at Dapper.SqlMapper.GetDeserializer(Type type, IDataReader reader, Int32 startBound, Int32 length, Boolean returnNullIfFirstMissing) in /_/Dapper/SqlMapper.cs:line 1835 at Dapper.SqlMapper.QueryImpl[T](IDbConnection cnn, CommandDefinition command, Type effectiveType)+MoveNext() in /_/Dapper/SqlMapper.cs:line 1105 at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) at Dapper.SqlMapper.Query[T](IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Boolean buffered, Nullable`1 commandTimeout, Nullable`1 commandType) in /_/Dapper/SqlMapper.cs:line 734 ... [/code] Wie kann ich das beheben? Ich habe versucht, UInt64 anstelle von int für den Typ von OrdinalPosition zu verwenden, aber der gleiche Fehler ist aufgetreten. [b]Meine Umgebung:[/b] [list] [*]C# .NET Core Console-Anwendung (net6.0) [*]Dapper 2.0.123 [*]MySQL 8.0 [/list]
Antwort
OK, das Hinzufügen des von E-Bat vorgeschlagenen Codes hatte also keine Auswirkungen, bis ich ein neues Projekt startete und den gesamten Code wörtlich kopierte. Ich kann nur davon ausgehen,...
Verwenden der Bitunix -API über Antworten Ich erhalte immer einen Signaturfehler. Dies ist mein Code:
def auth_headers(self, query_params: dict = None, body: dict = None) -> dict:
Ich versuche, ein Python-Programm zu erstellen, das eine Nachzeichnung des Profils einer Holzleiste als Eingabe verwendet und dann ein Verzeichnis mit mehreren hundert Strichzeichnungen der...
Ok, bevor wir anfangen: Ich habe bereits ein Formular, das 95%funktioniert. Die C# -Version, mit der wir arbeiten, ist 9.0 und Epplus 4.5.3.3 (weil das Unternehmen die Lizenz nicht erwerben möchte....