.net使用npgsql批量写入数据

时间:2025-03-27 14:47:26
public async Task SaveDbAsync(PageViewTrackEventDto trackEventDto) { try { string connecstr = GetConnectionString(); NpgsqlConnection con = new NpgsqlConnection(connecstr); con.Open(); string strsql = @"INSERT INTO drp_app_track_event (start_time, duration, session_id, trace_id, parent_trace_id, event_type, event_code, action_code, user_id, user_info, event_data) VALUES (@start_time, @duration, @session_id, @trace_id, @parent_trace_id, @event_type, @event_code, @action_code, @user_id, @user_info::jsonb, @event_data::jsonb) "; using (NpgsqlCommand SqlCommand = new NpgsqlCommand(strsql, con)) { SqlCommand.Parameters.AddWithValue("@start_time", trackEventDto.start_time); SqlCommand.Parameters.AddWithValue("@duration", trackEventDto.duration); SqlCommand.Parameters.AddWithValue("@session_id", trackEventDto.session_id); SqlCommand.Parameters.AddWithValue("@trace_id", trackEventDto.trace_id); SqlCommand.Parameters.AddWithValue("@parent_trace_id", trackEventDto.parent_trace_id); SqlCommand.Parameters.AddWithValue("@event_type", trackEventDto.event_type); SqlCommand.Parameters.AddWithValue("@event_code", trackEventDto.event_code); SqlCommand.Parameters.AddWithValue("@action_code", trackEventDto.action_code); SqlCommand.Parameters.AddWithValue("@user_id", trackEventDto.user_id); SqlCommand.Parameters.AddWithValue("@user_info", JsonConvert.SerializeObject(trackEventDto.user_info)); SqlCommand.Parameters.AddWithValue("@event_data", JsonConvert.SerializeObject(trackEventDto.event_data)); SqlCommand.ExecuteNonQuery(); con.Close(); } } catch (Exception ex) { throw; } }