LINQ에서 만든 데이터베이스 호출을 SQL 호출로 생성 한 .NET 코드로 다시 추적하는 데 관심이 있습니다. 예를 들어 DBA는 특정 캐시 된 실행 계획이 제대로 수행되고 있지 않을 수 있다는 우려를 나타낼 수 있습니다. 예를 들어 DBA가 ... 다음 코드를 해결하기 위해LINQ to SQL 생성 코드에 ID/레이블 첨부?
exec sp_executesql N'SELECT [t0].[CustomerID]
FROM [dbo].[Customers] AS [t0]
WHERE [t0].[ContactName] LIKE @p0
ORDER BY [t0].[CompanyName]',
'N'@p0 nvarchar(2)',@p0=N'c%'
을 개발자에게 있다면 ... 그것은 LINQ 문이 전화를 생산하는 즉시 분명 아니다. 물론 자동 생성 된 데이터 컨텍스트에서 "고객"클래스를 검색 할 수는 있지만 그저 시작일뿐입니다. 대규모 응용 프로그램을 사용하면이 문제는 신속하게 관리하기 어려워 질 수 있습니다.
LINQ to SQL에서 생성 및 실행 한 SQL 코드에 ID 또는 레이블을 첨부 할 수 있습니까? 큰 소리로 생각해 보면, 여기에 "TagWith"라는 확장 기능이 있습니다.이 기능은 개념적으로 내가하고 싶은 것을 보여줍니다.
var customers = from c in context.Customers
where c.CompanyName.StartsWith("c")
orderby c.CompanyName
select c.CustomerID;
foreach (var CustomerID in customers.TagWith("CustomerList4"))
{
Console.WriteLine(CustomerID);
}
"CustomerList4"ID/레이블이 자동 생성 된 SQL에서 끝나면 설정됩니다. 감사.