Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser Schnellstartanleitung erfahren Sie, wie der Geschäftslogik-Erklärunger Entwicklern hilft, komplexe Anwendungslogik zu verstehen und zu arbeiten, die in SQL-, ORM- (Object-Relational Mapping)-Frameworks oder direkt in der Datenbank implementiert ist. Der Assistent analysiert SQL-Code, ORM-Modelle oder vorhandene Datenbankschemas, um die zugrunde liegenden Geschäftsregeln zu erläutern und umsetzbare Dokumentation bereitzustellen.
Loslegen
Stellen Sie sicher, dass Sie mit einer Datenbank verbunden sind und ein aktives Editorfenster mit der MSSQL-Erweiterung geöffnet ist. Diese Verbindung ermöglicht es dem @mssql Chatteilnehmer, den Kontext Ihrer Datenbankumgebung zu verstehen und präzise und kontextbezogene Vorschläge zu ermöglichen. Ohne Datenbankverbindung verfügt der Chatteilnehmer nicht über das Schema oder den Datenkontext, um aussagekräftige Antworten bereitzustellen.
In den folgenden Beispielen wird die AdventureWorksLT2022 Beispieldatenbank verwendet, die Sie auf der Startseite von Microsoft SQL Server-Beispielen und Communityprojekten herunterladen können.
Um optimale Ergebnisse zu erzielen, passen Sie Tabellen- und Schemanamen an Ihre eigene Umgebung an.
Stellen Sie sicher, dass der Chat das @mssql Präfix enthält. Geben Sie @mssql z. B. gefolgt von Ihrer Frage oder Aufforderung ein. Dadurch wird sichergestellt, dass der Chatteilnehmer versteht, dass Sie sql-bezogene Unterstützung anfordern.
Grundlegendes zur Geschäftslogik mit GitHub Copilot
GitHub Copilot kann Ihnen helfen, Geschäftsregeln zu verstehen und zu erläutern, die in Datenbankcode, ORM-Modelle und Anwendungsabfragen eingebettet sind. Von gespeicherten Prozeduren bis hin zu LINQ-Abfragen und Sequelize-Ausdrücken bietet GitHub Copilot Einblicke in natürliche Sprachen, um komplexe Logik barrierefreier zu machen.
Nachfolgend finden Sie häufige Anwendungsfälle und Beispiele dafür, was Sie über den Chatteilnehmer fragen können:
Erläutern der T-SQL-Logik
Verwenden Sie GitHub Copilot, um Transact-SQL -Logik (T-SQL) von gespeicherten Prozeduren bis hin zu inlinebedingten Anweisungen zu verstehen und zu erläutern. Unabhängig davon, ob Sie Rabattregeln, Verfahrenslogik oder Optimierungsbedingungen überprüfen, kann GitHub Copilot Geschäftsregeln analysieren und dokumentieren, die in T-SQL implementiert sind.
Erläutern einer gespeicherten Prozedur
Explain what the `SalesLT.uspGetCustomerOrderHistory` stored procedure does and suggest ways to optimize it.
Debuggen einer gespeicherten Prozedur
Debug the `SalesLT.uspGetTopSellingProducts` stored procedure and suggest improvements.
Erläutern der Geschäftslogik in einem Codeausschnitt
Analyze the following SQL code snippet from my current database. Document the business rules implemented in this discount application process, including conditions for eligibility, discount rate adjustments, and any limits imposed on the discount amount. Also, provide actionable insights or suggestions to improve clarity or performance if necessary.
DECLARE @OrderTotal AS DECIMAL (10, 2) = 1500.00;
DECLARE @DiscountCode AS NVARCHAR (20) = 'DISCOUNT10';
DECLARE @DiscountPct AS DECIMAL (5, 2) = CASE WHEN @OrderTotal > 1000.00 THEN 5.0 ELSE 0.0 END;
IF @DiscountCode = 'DISCOUNT10'
BEGIN
SET @DiscountPct = CASE WHEN @DiscountPct < 10.0 THEN 10.0 ELSE @DiscountPct END;
END
DECLARE @DiscountAmount AS DECIMAL (10, 2) = (@OrderTotal * @DiscountPct / 100.0);
IF @DiscountAmount > 200.00
BEGIN
SET @DiscountAmount = 200.00;
END
SELECT @OrderTotal AS OrderTotal,
@DiscountPct AS DiscountPercentage,
@DiscountAmount AS DiscountAmount;
Erläutern der ORM-Logik
Erläutern einer SQLAlchemy-Abfrage
Explain what the following SQLAlchemy query does:
from sqlalchemy import func
top_customers = (
session.query(SalesOrderHeader.CustomerID, func.count().label("OrderCount"))
.group_by(SalesOrderHeader.CustomerID)
.order_by(func.count().desc())
.limit(10)
)
Erläutern einer LINQ-Abfrage von Entity Framework
What does this Entity Framework LINQ query do? Describe how it groups customers by tier based on their total purchases.
var customerTiers = context.SalesOrderHeaders
.GroupBy(o => o.CustomerID)
.Select(g => new {
CustomerID = g.Key,
TotalSpent = g.Sum(o => o.TotalDue),
Tier = g.Sum(o => o.TotalDue) >= 10000 ? "Gold" :
g.Sum(o => o.TotalDue) >= 5000 ? "Silver" : "Bronze"
});
Erläutern der Geschäftslogik in einer Prisma-Abfrage
Analyze the logic of this Prisma query and explain how it determines which products are considered "low inventory".
const lowInventoryProducts = await prisma.product.findMany({
where: {
SafetyStockLevel: {
lt: 50
}
},
select: {
ProductID: true,
Name: true,
SafetyStockLevel: true
}
});
Erläutern und Kommentieren einer Sequelize-Abfrage
Review and explain what this Sequelize query does. Add inline comments to clarify how it calculates total revenue per customer and filters for customers with significant spending:
const results = await SalesOrderHeader.findAll({
attributes: ['CustomerID', [sequelize.fn('SUM', sequelize.col('TotalDue')), 'TotalSpent']],
group: ['CustomerID'],
having: sequelize.literal('SUM(TotalDue) > 5000')
});
Generieren einer SQLAlchemy-Abfrage für eine Liste von Produkten
Using SQLAlchemy, generate a query to list products that have never been ordered and ask GitHub Copilot to explain the join logic and filtering behavior.
Abrufen von Kundeninformationen mithilfe einer Prisma-Abfrage
In Prisma, write a query that retrieves customers who placed an order in the last 30 days. Explain what the following Prisma query does. Add inline comments to clarify how the date filtering works and how recent orders are determined:
Geschäftsabsichten durch Abfragen verstehen
GitHub Copilot hilft Entwicklern nicht nur zu verstehen, wie eine Abfrage funktioniert, sondern warum sie vorhanden ist. Diese Erklärung umfasst den realen Zweck hinter Datenfiltern, Gruppierungen und Aggregationen. Diese Erklärungen sind besonders nützlich beim Onboarding, sodass Entwickler die Ziele hinter Berichten, Logikgaten oder Systemmetriken erfassen können, die in SQL- und ORM-Code eingebettet sind.
Beschreiben der Geschäftsziele in einer T-SQL-Abfrage
Describe the business goal of the following SQL query. What insight is it trying to surface?
SELECT TOP 10 CustomerID,
COUNT(*) AS OrderCount
FROM SalesLT.SalesOrderHeader
GROUP BY CustomerID
ORDER BY OrderCount DESC;
Zusammenfassen der Absicht einer T-SQL-Abfrage
Summarize what this query is intended to achieve from a business perspective.
SELECT ProductID,
SUM(LineTotal) AS TotalSales
FROM SalesLT.SalesOrderDetail
GROUP BY ProductID
HAVING SUM(LineTotal) > 10000;
Beschreiben der Geschäftslogik in einer gespeicherten Prozedur
Analyze the `SalesLT.uspGetCustomerOrderHistory` stored procedure and describe the business logic it implements.
Erläutern der Geschäftslogik in einer LINQ-Abfrage von Entity Framework
Explain this Entity Framework LINQ query and describe what business logic it implements:
var highValueCustomers = context.SalesOrderHeaders
.Where(o => o.TotalDue > 1000)
.GroupBy(o => o.CustomerID)
.Select(g => new { CustomerID = g.Key, OrderCount = g.Count() })
.OrderByDescending(x => x.OrderCount)
.Take(10)
.ToList();
Erläutern von Geschäftsannahmen in einer Sequelize-Abfrage
Using Sequelize, explain what this query does and describe any business assumptions it makes:
const customerRevenue = await SalesOrderHeader.findAll({
attributes: ['CustomerID', [sequelize.fn('SUM', sequelize.col('TotalDue')), 'TotalSpent']],
group: ['CustomerID'],
having: sequelize.literal('SUM(TotalDue) > 5000')
});
Teilen von Erfahrungen
Um uns dabei zu helfen, GitHub Copilot für die MSSQL-Erweiterung zu verfeinern und zu verbessern, verwenden Sie die folgende GitHub-Problemvorlage, um Ihr Feedback zu übermitteln: GitHub Copilot Feedback
Berücksichtigen Sie bei der Übermittlung von Feedback Folgendes:
Getestete Szenarien – Teilen Sie uns mit, auf welche Bereiche Sie sich konzentrieren, z. B. Schemaerstellung, Abfragegenerierung, Sicherheit, Lokalisierung.
Was gut funktioniert hat – Beschreiben Sie alle Erfahrungen, die sich reibungslos, hilfreich fühlen oder Ihre Erwartungen überschritten haben.
Probleme oder Fehler – Schließen Sie alle Probleme, Inkonsistenzen oder verwirrende Verhaltensweisen ein. Screenshots oder Bildschirmaufzeichnungen sind besonders hilfreich.
Verbesserungsvorschläge – Teilen Sie Ideen zur Verbesserung der Benutzerfreundlichkeit, zur Erweiterung der Abdeckung oder zur Verbesserung der Antworten von GitHub Copilot.
Verwandte Inhalte
- GitHub Copilot für MSSQL-Erweiterung für Visual Studio Code
- Schnellstart: Verwenden Sie Chat- und Inline-Vorschläge von GitHub Copilot
- Schnellstart: Generieren von Code
- Schnellstart: Verwenden des Schema-Explorers und des Designers
- Schnellstart: Verwenden des Intelligenten Abfrage-Generators
- Schnellstart: Abfrageoptimierer-Assistent
- Schnellstart: Sicherheitsanalyse
- Schnellstart: Lokalisierungs- und Formatierungshilfsprogramm
- Schnellstart: Generieren von Daten zum Testen und Mocking
- Einschränkungen und bekannte Probleme