Npgsql 连接字符串,动态数据库查询
Npgsql connection string, dynamic database querying
我有以下连接字符串:
NpgsqlConnection conn = new NpgsqlConnection($"Server={_server};Port={_port};User ID={_userid};Password={_password};Database={database}");
其中database
是从一组国家代码(GB、US、DE等)中选择的,查询对应的数据库。
国家代码是从一系列方法中选择的,这些方法确定它们的 latitude
和 longitude
(UTM) 在地图上的位置(即 51.503471, -0.119586
将输出:GB 因为它在英国的边界框)。 lat/lon
值由用户传入,因此每个查询可能会有所不同,并且可能在不同的国家/地区(因此数据库不同)。
其余连接数据保持不变,server/userid等不会改变,但每次用户提交lat/lon
.[=19=时查询的数据库可能会改变]
有没有一种方法可以在 Postgres/Npgsql
中没有指定 database
的情况下保持连接打开,或者每次我都必须重新打开(并在查询结束时关闭)连接查询已提交?
不,PostgreSQL 连接始终是到特定数据库的连接 - 您不能切换保留相同连接的数据库。
是否有特殊原因将数据分离到不同的数据库中?同一数据库中的不同模式可能具有相同的目的,而不会强制您重新连接等。如果您必须使用不同的数据库,连接池可能会减轻持续 closing/opening 连接对性能的影响。
我有以下连接字符串:
NpgsqlConnection conn = new NpgsqlConnection($"Server={_server};Port={_port};User ID={_userid};Password={_password};Database={database}");
其中database
是从一组国家代码(GB、US、DE等)中选择的,查询对应的数据库。
国家代码是从一系列方法中选择的,这些方法确定它们的 latitude
和 longitude
(UTM) 在地图上的位置(即 51.503471, -0.119586
将输出:GB 因为它在英国的边界框)。 lat/lon
值由用户传入,因此每个查询可能会有所不同,并且可能在不同的国家/地区(因此数据库不同)。
其余连接数据保持不变,server/userid等不会改变,但每次用户提交lat/lon
.[=19=时查询的数据库可能会改变]
有没有一种方法可以在 Postgres/Npgsql
中没有指定 database
的情况下保持连接打开,或者每次我都必须重新打开(并在查询结束时关闭)连接查询已提交?
不,PostgreSQL 连接始终是到特定数据库的连接 - 您不能切换保留相同连接的数据库。
是否有特殊原因将数据分离到不同的数据库中?同一数据库中的不同模式可能具有相同的目的,而不会强制您重新连接等。如果您必须使用不同的数据库,连接池可能会减轻持续 closing/opening 连接对性能的影响。