Using CIVICRM to manage a Fundraising Dinner
It might involve both an event and a campaign. You can set up a campaign with a financial goal, etc. and then create an event for the dinner itself that is tied to that campaign.

If you're using Backdrop or Drupal you can use Webform CiviCRM to set up a registration form that allows entry of both contacts, flexible webform-style payment options, and can also connect them via a relationship. With a core registration form you could allow the user to register multiple people, which could work depending on your pricing structure.

For reports, you can use core reports or custom searches to filter on that event or campaign specifically.