Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Из этого краткого руководства вы узнаете, как 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
- Краткое руководство. Использование обозревателя схем и конструктора
- Быстрый старт: Использование построителя интеллектуальных запросов
- Краткое руководство: Помощник оптимизации запросов
- Краткое руководство: Использование инструмента объяснения бизнес-логики
- Краткое руководство: Анализатор безопасности
- Краткое руководство: Инструмент поддержки локализации и форматирования
- Быстрое начало: Создание данных для тестирования и имитации
- Известные проблемы и ограничения