두 테이블 (BusinessUnit 및 UserBusinessUnit)에 대한 간단한 조인을 수행하고자하므로 주어진 사용자에게 할당 된 모든 BusinessUnits의 목록을 얻을 수 있습니다.Subsonic 3 간단한 쿼리 내부 조인 SQL 구문
첫 번째 시도는 작동하지만 나를 열 (나는 두 테이블에서 모든 열을 얻을 수) 반환 제한 할 수 있습니다 선택의 더 재정이 없습니다 :
var db = new KensDB();
SqlQuery query = db.Select
.From<BusinessUnit>()
.InnerJoin<UserBusinessUnit>(BusinessUnitTable.IdColumn, UserBusinessUnitTable.BusinessUnitIdColumn)
.Where(BusinessUnitTable.RecordStatusColumn).IsEqualTo(1)
.And(UserBusinessUnitTable.UserIdColumn).IsEqualTo(userId);
두 번째 attept는 열 이름 제한을 할 수는 있지만, 생성 된 SQL이 pluralised 테이블 이름을 포함하는 (?)
SqlQuery query = new Select(new string[] { BusinessUnitTable.IdColumn, BusinessUnitTable.NameColumn })
.From<BusinessUnit>()
.InnerJoin<UserBusinessUnit>(BusinessUnitTable.IdColumn, UserBusinessUnitTable.BusinessUnitIdColumn)
.Where(BusinessUnitTable.RecordStatusColumn).IsEqualTo(1)
.And(UserBusinessUnitTable.UserIdColumn).IsEqualTo(userId);
가 생산 ...
SELECT [BusinessUnits].[Id], [BusinessUnits].[Name]
FROM [BusinessUnits]
INNER JOIN [UserBusinessUnits]
ON [BusinessUnits].[Id] = [UserBusinessUnits].[BusinessUnitId]
WHERE [BusinessUnits].[RecordStatus] = @0
AND [UserBusinessUnits].[UserId] = @1
,
그래서 두 가지 질문이 있습니다.
- 방법 1에서 반환 된 열을 어떻게 제한합니까?
- 생성 된 SQL에 열 이름 pluralise 방법 2를 수행합니다 (그리고 나는이 피해 갈 수 있습니까?) 나는 3.0.0.3을 사용하고
... 3.0.0.3와
가