나는 3 개의 테이블을 가지고 있으며 어떤 recoreds를 선택해야합니까? 그 중 2 개의 테이블에서 동일한 이름의 fileds를 가지고 있는데 Where Where Expression을 사용하려고하면 오류 메시지가 나타납니다 : If 나는 TABLENAMe.Columns.COLNAME이 오류 메시지를 보여줍니다 : 모호한 열 이름 'FKLoginID'를 사용합니다. TableNAme.COLColumn.QualifiedName을 사용하는 경우 "@ [dbo]. [Tbl_PersonalInformation]. [FKLoginID] 0"근처에 오류가 있습니다.SubSonic 내부 조인 문제 선택
어떻게 이러한 테이블을 쿼리 할 수 있습니까? 감사
SqlQuery q = new Select().From(Tables.TblStockbrokerBroadDirector)
.InnerJoin(TblPersonalInformation.PersonalInfoIDColumn, TblStockbrokerBroadDirector.FKPersonalInfoIDColumn)
.InnerJoin(TblCompanyInformation.BizInfoIDColumn, TblStockbrokerBroadDirector.FKBizInfoIDColumn)
.Where(TblPersonalInformation.FKLoginIDColumn.QualifiedName).IsEqualTo(User.Identity.Name);
CREATE TABLE [dbo].[Tbl_CompanyInformation](
[Code] [bigint] IDENTITY(111111111,1) NOT NULL,
[BizInfoID] [nvarchar](20) NOT NULL,
[BizName] [nvarchar](50) NOT NULL,
[RegisterationNO] [nvarchar](50) NOT NULL,
[RegisterationPlace] [bigint] NOT NULL,
[TypeBiz] [nvarchar](50) NOT NULL,
[DirectManagerCode] [nvarchar](20) NOT NULL,
[FKAddressID] [nvarchar](20) NOT NULL,
[FKLoginID] [nvarchar](20) NOT NULL,
[SabtDate] [nvarchar](50) NOT NULL,
[NewName] [nvarchar](50) NULL,
[OldName] [nvarchar](50) NULL,
[DateTasisAgahi] [nvarchar](50) NOT NULL,
[NOTasisAgahi] [nvarchar](20) NOT NULL,
[NOAsasname] [nvarchar](20) NOT NULL,
[FKStatus] [smallint] NOT NULL CONSTRAINT [DF_Tbl_CompanyInformation_FKStatus] DEFAULT ((0)),
CONSTRAINT [PK_Tbl_CompanyInformation_1] PRIMARY KEY CLUSTERED
(
[Code] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY],
CONSTRAINT [IX_Tbl_Biz] UNIQUE NONCLUSTERED
(
[BizInfoID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY],
CONSTRAINT [IX_Tbl_CompanyRegNoP] UNIQUE NONCLUSTERED
(
[RegisterationNO] ASC,
[RegisterationPlace] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[Tbl_PersonalInformation](
[Code] [bigint] IDENTITY(111111111,1) NOT NULL,
[PersonalInfoID] [nvarchar](20) NOT NULL,
[FKLoginID] [nvarchar](20) NULL,
[FirstName] [nvarchar](50) NOT NULL,
[LastName] [nvarchar](150) NOT NULL,
[SSN] [nvarchar](10) NOT NULL,
[NationalCode] [nvarchar](10) NOT NULL,
[CopyNCard] [image] NULL,
[Birthyear] [nvarchar](50) NOT NULL,
[Birthplace] [bigint] NOT NULL,
[FKProvince] [smallint] NOT NULL,
[FKAddressID] [nvarchar](20) NOT NULL,
[Phone] [nvarchar](50) NULL,
[Sex] [bit] NOT NULL CONSTRAINT [DF_Tbl_PersonalInformation_Sex] DEFAULT ((0)),
[FKStatus] [smallint] NULL CONSTRAINT [DF_Tbl_PersonalInformation_FKStatus] DEFAULT ((0)),
CONSTRAINT [PK_Tbl_PersonalInformation_1] PRIMARY KEY CLUSTERED
(
[Code] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY],
CONSTRAINT [IX_Tbl_PersonalInformation] UNIQUE NONCLUSTERED
(
[PersonalInfoID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
CREATE TABLE [dbo].[Tbl_Stockbroker_BroadDirector](
[Code] [bigint] IDENTITY(111111111,1) NOT NULL,
[StockbrokerCode] [nvarchar](20) NOT NULL,
[FKBizInfoID] [nvarchar](20) NOT NULL,
[FKPersonalInfoID] [nvarchar](20) NULL,
[IsStockbroker] [bit] NOT NULL CONSTRAINT [DF_Tbl_Stockbroker_BroadDirector_IsStockbroker] DEFAULT ((0)),
[IsBoardDirector] [bit] NOT NULL CONSTRAINT [DF_Tbl_Stockbroker_BroadDirector_IsBoardDirector] DEFAULT ((0)),
[FKStatus] [smallint] NULL CONSTRAINT [DF_Tbl_Stockbroker_BroadDirector_status] DEFAULT ((0)),
[StockPercent] [float] NULL CONSTRAINT [DF_Tbl_Stockbroker_BroadDirector_StockPercent] DEFAULT ((0)),
[SahamdarHoghoghi] [bit] NULL,
[FkBizinfoIDSahamdar] [nvarchar](20) NULL,
CONSTRAINT [PK_Tbl_Stockbroker_BroadDirector] PRIMARY KEY CLUSTERED
(
[Code] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY],
CONSTRAINT [IX_Tbl_Stockbroker_Code] UNIQUE NONCLUSTERED
(
[StockbrokerCode] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
당신은 내가 게시 된 쿼리를 시도이 오류 메시지가 있어요? –
아담, 당신의 쿼리를 확인, 은 SQLQuery 쿼리 = DB.Select(). (Tables.TblStockbrokerBroadDirector) .InnerJoin (Tables.TblPersonalInformation) .InnerJoin (Tables.TblCompanyInformation) 어디에요 (TblPersonalInformation.FKLoginIDColumn)에서 .IsEqualTo (User.Identity.Name); 하지만 여전히 개체 참조가 개체의 인스턴스로 설정되어 있지 않습니다. – Ashian
TblPersonalInformation.FKLoginIDColumn을 사용하지 말고 TblPersonalInformation.Columns.FKLoginID를 사용하십시오. –