Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Из этого краткого руководства вы узнаете, как GitHub Copilot ускоряет разработку SQL и реляционного сопоставления объектов (ORM), создавая код с учетом контекста непосредственно в Visual Studio Code. GitHub Copilot помогает создавать таблицы, развивать схемы и уменьшать повторяющиеся сценарии. Независимо от того, используете ли вы T-SQL или работаете с ORMs, такими как Entity Framework, Sequelize, Prisma или SQLAlchemy, GitHub Copilot, помогает сосредоточиться на создании логики приложения.
Начало работы
Убедитесь, что вы подключены к базе данных и открываете активное окно редактора с расширением MSSQL. Это подключение позволяет участнику чата @mssql понять контекст вашей среды базы данных, обеспечивая точные предложения с учетом контекста. Без подключения к базе данных участник чата не будет иметь контекст схемы или данных для предоставления значимых ответов.
В следующих примерах используется образец базы данных AdventureWorksLT2022, доступный для загрузки на домашней странице проектов сообщества и примеров Microsoft SQL Server.
Для получения наилучших результатов настройте имена таблиц и схем в соответствии с собственной средой.
Убедитесь, что чат включает @mssql префикс. Например, введите @mssql, а затем ваш вопрос или запрос. Это гарантирует, что участник чата понимает, что вы запрашиваете помощь, связанную с SQL.
Создание кода с помощью GitHub Copilot
Используйте GitHub Copilot для создания кода, совместимого с SQL и ORM, который отражает структуру подключенной базы данных и следует рекомендациям. От определения таблиц и связей до создания представлений скриптов, написания файлов миграции или организации слоев доступа к данным и API, GitHub Copilot помогает вам работать быстрее и с большей уверенностью.
Ниже приведены распространенные варианты использования и примеры того, что можно спросить через участника чата:
Создание кода SQL
GitHub Copilot поможет вам создать код SQL для нескольких сценариев разработки, от сценариев, создания и изменения таблиц до написания хранимых процедур и представлений. В этих примерах показано, как использовать GitHub Copilot для автоматизации повторяющихся сценариев SQL и выполнения рекомендаций по разработке T-SQL.
Создание скриптов для всех таблиц в схеме
Script out all the tables in the `SalesLT` schema as `CREATE TABLE` statements in SQL.
Получение данных клиента с помощью хранимой процедуры
Write a SQL stored procedure in my current database. The procedure should retrieve all customers from the `SalesLT.Customer` table where the `LastName` matches a given parameter. Make sure to use T-SQL best practices.
Скрипт таблицы со всеми ограничениями и индексами
Script out the `SalesLT.Customer` table as a `CREATE TABLE` statement, including all constraints and indexes.
Скрипт для создания представления, объединяющего две таблицы
Generate a SQL script to create a view that joins the `SalesLT.Customer` and `SalesLT.SalesOrderHeader` tables, showing customer names and their total order amounts.
Изменение таблицы путем добавления нового столбца
Write a SQL script to alter the `SalesLT.Customer` table by adding a `last_updated` column with a default timestamp.
Создание миграций ORM
GitHub Copilot может генерировать миграции, совместимые с ORM, и определения моделей на основе вашего контекста схемы и выбранного фреймворка. Начиная с Sequelize и переходя к Entity Framework, Prisma и SQLAlchemy, GitHub Copilot помогает проектировать изменения, соответствующие модели данных вашего приложения.
Создание модели для добавления столбца
Generate a Sequelize (JavaScript) model to add an `email` column (`varchar(256)`) to the `SalesLT.Customer` table.
Создание класса модели Entity Framework
Generate an Entity Framework model class in C# to represent a `SalesLT.ProductModel` table with `id`, `name`, and `description` columns.
Создание модели Entity Framework
Generate an Entity Framework model in C# based on the existing `SalesLT.Product` table.
Написание кода Python для определения таблицы
Write SQLAlchemy code to define a `SalesLT.OrderDetails` table with `id`, `order_date`, and `customer_id` fields, ensuring compatibility with `Python`.
Написание параметризованного запроса
Using SQLAlchemy, write a parameterized query that retrieves all customers from the `SalesLT.Customer` table where the `LastName` matches a provided parameter.
Обновление существующей модели для добавления таблицы
Update my existing Prisma model (schema.prisma) to define a new `SalesLT.Order` model with `id`, `customer_id`, and `order_date` fields.
Создание класса модели для таблицы
Generate a SQLAlchemy model class for the `SalesLT.Product` table, including columns and data types.
Генерация стандартного кода приложения
GitHub Copilot также может помочь создать шаблон серверной части и интерфейсных компонентов, взаимодействующих с базой данных SQL. В этих примерах показано, как перейти от схемы к рабочему коду приложения с помощью популярных стеков, таких как Функции Azure, Node.js, Django и Next.js.
Бессерверные внутренние привязки SQL и Blazor
В следующем примере показаны полные запросы, которые можно использовать с GitHub Copilot Chat для формирования комплексного решения. Эти запросы включают подробные инструкции и контекст, которые помогут Copilot создать точный структурированный код как на внутренних, так и на внешних уровнях.
Generate a full-stack app using Azure SQL bindings for Functions and Blazor WebAssembly. Follow these steps:
1. Backend: Azure Functions (C#) with SQL Bindings
- Configure SQL Bindings to automatically read and write data from the `SalesLT.Customer` table.
- Implement HTTP-triggered functions with the following endpoints:
- `GET /api/customers` – Fetch all customers.
- `GET /api/customers/{id}` – Get a specific customer by ID.
- `POST /api/customers` – Create a new customer.
- `PUT /api/customers/{id}` – Update an existing customer.
- `DELETE /api/customers/{id}` – Delete a customer.
- Use `Dependency Injection` for database connections and logging.
- Include an `appsettings.json` file to store database connection strings and environment variables.
- Use `Azure Functions Core Tools` to run and test the functions locally.
1. Frontend: Blazor WebAssembly (Optional)
- Create a Blazor WebAssembly frontend that consumes the API.
- Display a table with customer data and a form to add new customers.
- Use `HttpClient` to call the Azure Functions endpoints.
- Implement two-way data binding to handle form inputs dynamically.
- Use Bootstrap or Blazor components for styling and layout.
Ensure the project includes setup instructions for running both the Azure Functions backend and Blazor WebAssembly frontend locally, with proper `.env` or `local.settings.json` configurations for database connections.
Полный стек разработки с использованием Node.js и Next.js
В следующем примере приведен подробный запрос, который можно предоставить в GitHub Copilot Chat для создания полной настройки серверной части, включая маршруты API и интеграцию базы данных.
Generate a REST API using Node.js with Express that connects to my local SQL Database. Use the Tedious package for SQL Server connections and Prisma as the ORM. Follow these steps:
1. Backend: Node.js + Express
- Establish a database connection using Prisma with Tedious as the SQL Server driver.
- Implement API routes for `SalesLT.Customer` with the following endpoints:
- `GET /customers` – Fetch all customers.
- `GET /customers/:id` – Get a specific customer by ID.
- `POST /customers` – Create a new customer.
- `PUT /customers/:id` – Update an existing customer.
- `DELETE /customers/:id` – Delete a customer.
- Configure `Prisma` to map the `SalesLT.Customer` table and generate database migrations using `prisma migrate dev`.
- Use `dotenv` for environment variables (database credentials, ports, etc.).
- Add `Jest` for testing the API endpoints.
1. Frontend: Next.js + TypeScript (Optional)
- Create a Next.js frontend that consumes the API.
- Display a table with customer data and a form to add new customers.
- Use React hooks (`useState`, `useEffect`) to manage state and fetch data dynamically.
- Style the UI using Tailwind CSS.
- Implement server-side data fetching (`getServerSideProps`) in Next.js for improved performance.
Ensure the project includes setup instructions for running both the backend and frontend independently, with proper `.env` configurations for the database connection.
Серверная часть: Django + Django REST framework
В следующем примере приведен подробный запрос, который можно предоставить в GitHub Copilot Chat для создания полной настройки серверной части, включая маршруты API и интеграцию базы данных.
Scaffold a Django backend with Django REST Framework for the `SalesLT.Customer` table. Follow these steps:
- Implement API routes using Django's `ModelViewSet` with the following endpoints:
- `GET /customers` – Fetch all customers.
- `GET /customers/{id}` – Get a specific customer by ID.
- `POST /customers` – Create a new customer.
- `PUT /customers/{id}` – Update an existing customer.
- `DELETE /customers/{id}` – Delete a customer.
- Add instructions for generating database migrations with `python manage.py makemigrations` and `migrate`.
Оставьте свой отзыв
Чтобы помочь нам уточнить и улучшить GitHub Copilot для расширения MSSQL, используйте следующий шаблон проблемы GitHub для отправки отзывов: GitHub Copilot Feedback
При отправке отзывов рассмотрите возможность включения:
Сценарии, проверенные . Сообщите нам, какие области вы сосредоточены, например создание схемы, создание запросов, безопасность, локализация.
То, что работало хорошо – Опишите любые ситуации, которые казались бесперебойными, полезными или превысили ваши ожидания.
Проблемы или ошибки — включает любые проблемы, несоответствия или запутанное поведение. Снимки экрана или записи экрана особенно полезны.
Предложения по улучшению — предоставление общих идей для улучшения удобства использования, расширения охвата или повышения ответов GitHub Copilot.
Связанный контент
- Расширение GitHub Copilot для MSSQL для Visual Studio Code
- Быстрый старт: Использование чата и встроенных предложений GitHub Copilot
- Краткое руководство. Использование обозревателя схем и конструктора
- Быстрый старт: Использование построителя интеллектуальных запросов
- Краткое руководство: Помощник оптимизации запросов
- Краткое руководство: Использование инструмента объяснения бизнес-логики
- Краткое руководство: Анализатор безопасности
- Краткое руководство: Инструмент поддержки локализации и форматирования
- Быстрое начало: Создание данных для тестирования и имитации
- Известные проблемы и ограничения