Explicit cast parameters
SoftStoneDevelop opened this issue · 1 comments
SoftStoneDevelop commented
It's mostly useful for enums. When in the code it is Enum
and in the database it is short
for example.
Now:
[Query(@"
UPDATE public.table_with_enum
SET
status = $1
WHERE
id = $2
;
",
"SetStatus",
methodType: MethodType.Async,
sourceType: Gedaq.Npgsql.Enums.SourceType.Connection,
queryType: QueryType.NonQuery,
accessModifier: AccessModifier.Public
),
Parametr(typeof(short), position: 1, methodParametrName: "status"),
Parametr(typeof(long), position: 2, methodParametrName: "id")
]
private void ConfigSetStatus()
{
}
public SomeMethod()
{
await SetStatus(connection: connection, status: (short)CurrentStatus.New, id: 1);
}
Excpect:
[Query(@"
UPDATE public.table_with_enum
SET
status = $1
WHERE
id = $2
;
",
"SetStatus",
methodType: MethodType.Async,
sourceType: Gedaq.Npgsql.Enums.SourceType.Connection,
queryType: QueryType.NonQuery,
accessModifier: AccessModifier.Public
),
Parametr(typeof(short), position: 1, methodParametrName: "status", methodParametrType: typeof(CurrentStatus)),
Parametr(typeof(long), position: 2, methodParametrName: "id")
]
private void ConfigSetStatus()
{
}
public SomeMethod()
{
await SetStatus(connection: connection, status: CurrentStatus.New, id: 1);
}
Add methodParameterType
optional parameter.
SoftStoneDevelop commented
Enumerations are quite common and writing a cast every time is quite tedious. It does not always make sense to add an implicit cast.