Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A GitHub Copilot és az MSSQL kiterjesztés minden jelentős objektum-relációs leképezés (ORM) keretrendszerrel működik az SQL Server és az Azure SQL Database esetében. Ez a hivatkozás lefeszegeti a támogatott ORM-eket, azt, hogy mindegyik mit tehet, és egy végponttól végpontig példát, amely egy SQL Server táblától egy gépelt modellhez, migrációhoz és adathozzáférési módszerhez vezet.
A legfontosabb tudnivalók
- A GitHub Copilot modelleket, migrációkat és adathozzáférési kódot generál, amelyeket a választott ORM-hez szabott.
- A
@mssqlcsevegős résztvevő olvassa az adatbázis sémáját, és kontextusként használja az ORM kód generálásához. - Az egyedi utasítások mind a Transact-SQL (T-SQL), mind az ORM rétegeken érvényesíthetik a konvenciókat.
ORM támogató mátrix
| ORM | Rakás | Models | Migrations | Séma első | Kód-első |
|---|---|---|---|---|---|
| Entity Framework Core | .NET / C# | Igen | Igen | Igen | Igen |
| Prisma | Node.js / TypeScript | Igen | Igen | Igen | Igen |
| Folytatás | Node.js | Igen | Igen | Igen | Igen |
| SQLAlchemy | Python | Igen | Igen (az Alembicen keresztül) | Igen | Igen |
| Django ORM | Python | Igen | Igen | Igen | Limited |
| TypeORM | Node.js / TypeScript | Igen | Igen | Igen | Igen |
| Szitáló | Node.js / TypeScript | Igen | Igen | Igen | Igen |
| Dapper | .NET / C# | Micro-ORM | Manual | No | Igen |
Végponttól végig szcenárió
Minden szakasz ugyanazt a helyzetet használja: SalesLT.Customer SQL Server-ben van egy oszlop, email gépelt modellt generálni, és adathozzáférési módszert készíteni.
Entity Framework Core (entitás keretrendszer mag)
1. Generáld a modellt
@mssql Generate an Entity Framework Core entity class for
SalesLT.Customer. Use C# records where appropriate. Target
Entity Framework Core 9 with SQL Server provider.
2. Generáld a migrációt
@mssql Generate an Entity Framework Core migration to add an
`Email` column (nvarchar(256), nullable) to the Customer entity.
Use the EF Core Add-Migration conventions and include both the
Up and Down methods.
3. Generáld az adathozzáférési módszert
@mssql Write a CustomerRepository method that returns all active
customers ordered by LastName. Use the DbContext pattern, async/await,
and return IReadOnlyList<Customer>.
Prisma
1. Generáld a séma modellt
@mssql Generate a Prisma model for SalesLT.Customer using the
sqlserver provider. Use @map annotations to match the existing
column names. Set the primary key and unique constraints explicitly.
2. Generáld a migrációt
@mssql Generate a Prisma migration SQL file to add an `email`
column (NVARCHAR(256), nullable) to the SalesLT.Customer table,
compatible with the sqlserver provider.
3. Generáld az adathozzáférési módszert
@mssql Write a TypeScript function that uses the Prisma client to
return all active customers ordered by last name, including strict
TypeScript types.
Folytatás
1. Generáld a modellt
@mssql Generate a Sequelize model class for SalesLT.Customer using
the sequelize-typescript decorators pattern. Include data type
mappings for DATETIME2 and NVARCHAR columns.
2. Generáld a migrációt
@mssql Generate a Sequelize migration in JavaScript to add an
`email` column (STRING(256), nullable) to the `Customer` table in
the `SalesLT` schema.
3. Generáld az adathozzáférési módszert
@mssql Write a Sequelize repository method using async/await that
returns all active customers ordered by LastName. Use model scopes
for the `active` filter.
SQLAlchemy
1. Generáld a modellt
@mssql Generate a SQLAlchemy 2.0 model for SalesLT.Customer using
the declarative Mapped[] syntax. Use the pyodbc driver connection
string format for SQL Server.
2. Az alembikus migráció generálása
@mssql Generate an Alembic migration script to add an `email`
column (NVARCHAR(256), nullable) to the SalesLT.Customer table.
Include both upgrade and downgrade functions.
3. Generáld az adathozzáférési módszert
@mssql Write a SQLAlchemy 2.0 async repository method using
select() and scalars() that returns all active customers ordered
by last name.
Django ORM
1. Generáld a modellt
@mssql Generate a Django model for SalesLT.Customer using
django-mssql-backend. Include Meta.db_table to map to the
existing table name with the SalesLT schema.
2. Generáld a migrációt
@mssql Generate a Django migration to add an `email` field
(CharField, max_length=256, null=True) to the Customer model.
Use the AddField operation.
3. Generáld az adathozzáférési módszert
@mssql Write a Django queryset manager method that returns all
active customers ordered by last_name, using select_related for
any foreign key fields.
TypeORM
1. Létrehozzuk az entitást
@mssql Generate a TypeORM entity class for SalesLT.Customer.
Use decorators for @Entity, @Column, @PrimaryGeneratedColumn.
Include DATETIME2 and NVARCHAR mappings for SQL Server.
2. Generáld a migrációt
@mssql Generate a TypeORM migration class to add an `email`
column (nvarchar 256, nullable) to the SalesLT.Customer table.
Include both up and down methods.
3. Generáld az adathozzáférési módszert
@mssql Write a TypeORM repository method that uses the query
builder to return all active customers ordered by last name.
Include strict TypeScript types.
Szitáló
1. Generáld a sémát
@mssql Generate a Drizzle schema definition for SalesLT.Customer
using the mssql dialect. Include type-safe column mappings for
nvarchar, datetime2, and bit types.
2. Generáld a migrációt
@mssql Generate a Drizzle migration SQL file to add an `email`
column (nvarchar 256, nullable) to the SalesLT.Customer table.
3. Generáld az adathozzáférési módszert
@mssql Write a Drizzle query using the query builder that returns
all active customers ordered by last name. Use type-safe column
references.
Dapper
A Dapper egy mikro-ORM, amelynek nincs séma generálása vagy migráció támogatása, de a GitHub Copilot képes adathozzáférési módszereket generálni, amelyek a Dapper kiterjesztési módszereit használják egy meglévő sémával szemben.
@mssql Write a Dapper-based repository method in C# that returns
all active customers ordered by LastName. Use parameterized
queries and a typed Customer record.
Gyakori minták és kikötések
- Entity Framework Core + SQL Server collation. Kis- és nagybetűs összehasonlításokhoz kifejezetten lekérdezésekben van beállítva
EF.Functions.Collate. Ne feltételezd, hogy az alapértelmezett összeállítás megegyezik az SQL Server szerverszintű beállításaival. - Prisma + MSSQL kapcsolati karakterlánc idézetelés. Az Azure SQL Database connection string-hez gondos URL-kódolásra van szükség speciális karakterek kódolására a jelszavakban. Lásd a Prisma SQL Server szolgáltató dokumentációját.
- SQLAlchemy + pyodbc driver. Telepítsd és hivatkozz a megfelelő illeszőr verzióra (
ODBC Driver 18 for SQL Server2026-os állapot szerint). Tűzd ki a verziókatrequirements.txt, hogy elkerüld a meglepetéseket. - Django ORM + elsődleges kulcsleképezés.
IDENTITYaz oszlopokhoz az adatterheléshez adjango-mssql-backendcsomag ésIDENTITY_INSERTa kezelés szükséges. - TypeORM + camelCase. Állíts
entityPrefixbe és használj névozási stratégiákat, hogy illeszkedjenek az egyedi utasításaidhoz , ha a csapatod egy adott konvenciót használ.
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
-
Gyorsindítás: Beszélj a
@mssqlrésztvevővel (kérdező mód) - Rövid útmutató: Kód létrehozása
- Rövid útmutató: Az intelligens lekérdezésszerkesztő használata
- Rövid útmutató: Lekérdezésoptimalizáló-asszisztens
- Gyorsindítás: Használj egyedi utasításokat, hogy a GitHub Copilot-t a T-SQL konvencióidhoz igazítsd
- Korlátozások és ismert problémák