Как мне отправить по внешнему ключу от пользователей в другую таблицу в Asp.Net веб-api

#asp.net #.net #api #web #model-view-controller

#asp.net #.net #API #веб #модель-представление-контроллер

Вопрос:

Я новичок, пожалуйста, простите меня.

У меня есть таблица users со столбцом ‘userId’, этот ‘userId’ является внешним ключом к другой таблице ‘Calendar Table’. Как мне отправить метод post из контроллера календаря для отправки идентификатора пользователя из таблицы Users в таблицу Calendar?

dbo.calendar

 [FileLength]           BIGINT         NOT NULL,
[CreationTime]         DATETIME       NOT NULL,
[LastUpdatedOn]        DATETIME       NULL,
[UserId]               NVARCHAR (128) NOT NULL,
[ApplicationUser_Id]   NVARCHAR (128) NULL,
CONSTRAINT [PK_dbo.CalendarTables] PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_dbo.CalendarTables_dbo.User_ApplicationUser_Id] FOREIGN KEY ([ApplicationUser_Id]) REFERENCES [dbo].[User] ([Id]),
CONSTRAINT [FK_dbo.CalendarTables_dbo.User_UserId] FOREIGN KEY ([UserId]) REFERENCES [dbo].[User] ([Id])
  

dbo.users

 [LockoutEnabled]       BIT            NOT NULL,
[AccessFailedCount]    INT            NOT NULL,
[UserName]             NVARCHAR (256) NOT NULL,
[UserId]               NVARCHAR (MAX) NULL,
CONSTRAINT [PK_dbo.User] PRIMARY KEY CLUSTERED ([Id] ASC)
  

Контроллер календаря

 // POST api/value
    [AllowAnonymous]
    [ResponseType(typeof(CalendarTable))]

    public IHttpActionResult PostCalendar(CalendarTable calendarTable)
    {
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        db.CalendarTables.Add(calendarTable);
        db.SaveChanges();

        return CreatedAtRoute("DefaultApi", new { id = calendarTable.Id }, calendarTable);
    }
  

Мне просто нужен метод или способ для отправки идентификатора пользователя конкретного пользователя из таблицы User в «userId» таблицы Calendar при выполнении запроса post. Спасибо

Комментарии:

1. Что вы ищете UserId ? Это пришло из запроса или вы получаете текущего пользователя с помощью this.User.Identity.Name действия контроллера и пытаетесь найти это UserId в таблице dbo.users ?

2. @AlexanderYakushev спасибо. Мне просто нужен метод, позволяющий отправлять userId в таблицу calendar из таблицы users