Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ebben a rövid útmutatóban megtudhatja, hogyan gyorsítja fel a GitHub Copilot az SQL és az objektum-relációs leképezés (ORM) fejlesztését úgy, hogy környezetfüggő kódot hoz létre közvetlenül a Visual Studio Code-ban. A GitHub Copilot segítségével táblákat hozhat létre, sémákat fejleszthet, és csökkentheti az ismétlődő szkriptek használatát. Akár Transact-SQL-t használ, akár objektum-relációs leképezési (ORM-) keretrendszerekkel, például Entity Framework, Sequelize, Prisma vagy SQLAlchemy használatával dolgozik, a GitHub Copilot segít az alkalmazáslogika létrehozására összpontosítani.
Első lépések
Győződjön meg arról, hogy csatlakozik egy adatbázishoz, és meg van nyitva egy aktív szerkesztőablak az MSSQL kiterjesztéssel. Amikor csatlakozik, a @mssql csevegés résztvevői megértik az adatbázis-környezet kontextusát, és pontos, környezettudatos javaslatokat tehetnek. Ha nem csatlakozik adatbázishoz, a csevegés résztvevője nem rendelkezik a sémával vagy az adatkörnyezettel, hogy értelmes válaszokat adjon.
Az alábbi példák a AdventureWorksLT2022 mintaadatbázist használják, amelyet a Microsoft SQL Server-minták és közösségi projektek kezdőlapjáról tölthet le.
A legjobb eredmény érdekében módosítsa a táblázat- és sémaneveket a saját környezetének megfelelően.
Győződjön meg arról, hogy a csevegés tartalmazza az @mssql előtagot. Például írja be @mssql, majd adja meg a kérdést vagy felkérést. Ez az előtag biztosítja, hogy a csevegés résztvevője megértse, hogy SQL-hez kapcsolódó segítséget kér.
Kódlétrehozás a GitHub Copilottal
A GitHub Copilot használatával olyan SQL- és ORM-kompatibilis kódot hozhat létre, amely tükrözi a csatlakoztatott adatbázis struktúráját, és követi az ajánlott eljárásokat. A táblák és kapcsolatok definiálásától a szkriptelési nézetekig, a migrálási fájlok készítéséig vagy az adatelérési rétegek és API-k állványzatának kialakításáig a GitHub Copilot segít gyorsabban és magabiztosabban mozogni.
Az alábbiakban gyakori használati eseteket és példákat talál arra, hogy mit kérdezhet meg a csevegő résztvevőn keresztül:
SQL-kód létrehozása
A GitHub Copilot segítségével SQL-kódot hozhat létre több fejlesztési forgatókönyvhöz, a táblák szkriptelésétől, létrehozásán és módosításán át a tárolt eljárások és nézetek írásához. Ezek a példák bemutatják, hogyan automatizálhatja az ismétlődő SQL-szkriptelést a GitHub Copilot használatával, és hogyan követheti a T-SQL-fejlesztés ajánlott eljárásait.
Séma összes táblájának szkriptje
Script out all the tables in the `SalesLT` schema as `CREATE TABLE` statements in SQL.
Ügyféladatok lekérése tárolt eljárással
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.
A táblázat kiszkriptelése az összes megszorítással és indexszel
Script out the `SalesLT.Customer` table as a `CREATE TABLE` statement, including all constraints and indexes.
Két táblát összekapcsoló nézet szkriptelése
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.
Táblázat módosítása új oszlop hozzáadásával
Write a SQL script to alter the `SalesLT.Customer` table by adding a `last_updated` column with a default timestamp.
ORM-migrálások létrehozása
A GitHub Copilot ORM-kompatibilis migrálásokat és modelldefiníciókat hozhat létre a sémakörnyezet és a választott keretrendszer alapján. Az Entity Framework, a Prisma és az SQLAlchemy szekvenálásától kezdve a GitHub Copilot segít az alkalmazás adatmodelljéhez igazodó módosítások összeállításában.
Modell létrehozása oszlop hozzáadásához
Generate a Sequelize (JavaScript) model to add an `email` column (`varchar(256)`) to the `SalesLT.Customer` table.
Entity Framework-modellosztály létrehozása
Generate an Entity Framework model class in C# to represent a `SalesLT.ProductModel` table with `id`, `name`, and `description` columns.
Entity Framework-modell létrehozása
Generate an Entity Framework model in C# based on the existing `SalesLT.Product` table.
Python-kód írása tábla definiálásához
Write SQLAlchemy code to define a `SalesLT.OrderDetails` table with `id`, `order_date`, and `customer_id` fields, ensuring compatibility with `Python`.
Paraméteres lekérdezés írása
Using SQLAlchemy, write a parameterized query that retrieves all customers from the `SalesLT.Customer` table where the `LastName` matches a provided parameter.
Meglévő modell frissítése táblázat hozzáadásához
Update my existing Prisma model (schema.prisma) to define a new `SalesLT.Order` model with `id`, `customer_id`, and `order_date` fields.
Modellosztály létrehozása egy táblához
Generate a SQLAlchemy model class for the `SalesLT.Product` table, including columns and data types.
Boilerplate alkalmazáskód generálása
A GitHub Copilot az SQL-adatbázissal együttműködő háttér- és előtér-összetevők összeállításában is segít. Ezek a példák bemutatják, hogyan válthat a sémáról a működő alkalmazáskódra olyan népszerű veremekkel, mint az Azure Functions, a Node.js, a Django és a Next.js.
Kiszolgáló nélküli háttérbeli SQL-kötések és Blazor
Az alábbi példa a GitHub Copilot Chattel használható teljes körű utasításokat mutat be egy teljes körű megoldás összeállításához. Ezek a kérések részletes utasításokat és kontextust tartalmaznak, amelyek segítségével a Copilot pontos, strukturált kódot hozhat létre a háttér- és előtérrétegek között.
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.
Full-stack fejlesztés Node.js és Next.js
Az alábbi példa egy részletes kérés, amelyet a GitHub Copilot Chatben adhat meg a háttérrendszer teljes beállításának létrehozásához, beleértve az API-útvonalakat és az adatbázis-integrációt.
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.
Háttérrendszer: Django + Django REST-keretrendszer
Az alábbi példa egy részletes kérés, amelyet a GitHub Copilot Chatben adhat meg a háttérrendszer teljes beállításának létrehozásához, beleértve az API-útvonalakat és az adatbázis-integrációt.
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`.
Ossza meg tapasztalatait
Az MSSQL-bővítményHez tartozó GitHub Copilot pontosításához és fejlesztéséhez használja a következő GitHub-problémasablont a visszajelzés elküldéséhez: GitHub Copilot Feedback
Visszajelzés küldésekor fontolja meg a következőket:
Tesztelt forgatókönyvek: Tudassa velünk, hogy mely területekre összpontosított, például sémalétrehozásra, lekérdezésgenerálásra, biztonságra, honosításra.
Ami jól működött: Ismertesse azokat a tapasztalatokat, amelyek zökkenőmentesnek, hasznosnak mutattak, vagy amelyek meghaladták az Ön elvárásait.
Problémák vagy hibák: Tartalmazzon bármilyen problémát, következetlenséget vagy zavaró viselkedést. A képernyőképek és a képernyőfelvételek különösen hasznosak.
Fejlesztési javaslatok: Ötletek megosztása a használhatóság javítására, a lefedettség bővítésére vagy a GitHub Copilot válaszainak javítására.
Kapcsolódó tartalom
- GitHub Copilot for MSSQL-bővítmény a Visual Studio Code-hoz
- Rövid útmutató: Csevegés és beágyazott GitHub Copilot-javaslatok használata
- Rövid útmutató: A sémakezelő és a tervező használata
- Rövid útmutató: Az intelligens lekérdezésszerkesztő használata
- Rövid útmutató: Lekérdezésoptimalizáló-asszisztens
- Rövid útmutató: Az üzleti logika magyarázójának használata
- Rövid útmutató: Biztonsági elemző
- Rövid útmutató: Honosítási és formázási eszköz
- Rövid útmutató: Adatok létrehozása teszteléshez és modellezéshez
- Korlátozások és ismert problémák