Я думаю, что то, что я ищу, на самом деле является разделением сущностей. Однако я не уверен на 100%, поддерживается ли то, что мне нужно. Итак, я добавлю много подробностей, которые, надеюсь, помогут. Я ограничу область действия одной сущностью, поскольку ответ будет одинаковым для всех тех, с кем мне придется иметь дело.
Итак, у меня есть объект User:
User
ID (int)
CustID (int)
CustomerString (string)
FirstName (string)
LastName (string)
Email (string)
Благодаря мультиарендности нашей базы данных каждый объект имеет привязанную к нему концепцию владельца. Это представлено CustID во всех таблицах. Однако этот идентификатор является бессмысленным PK для наших клиентов, которые будут получать доступ к этой службе данных. Они знают свою CustomerString, которая представляет собой просто уникальное строковое значение, соответствующее идентификатору в нашей таблице Client.
Две таблицы, связанные с сущностью пользователя, таковы:
Клиенты
CREATE TABLE [Customers](
[ID] [int] NOT NULL,
[Name] [varchar](100) NOT NULL,
[Description] [varchar](255) NULL,
[ClientPhone] [varchar](20) NULL,
[Address] [varchar](255) NULL,
[CustomerString] [varchar](100) NOT NULL,
[sys_CreateDate] [datetime] NOT NULL,
[sys_LastUpdate] [datetime] NOT NULL,
CONSTRAINT [PK_Customers] PRIMARY KEY NONCLUSTERED
(
[ID] ASC
)
Пользователи
CREATE TABLE [Users](
[UserID] [int] IDENTITY(2000000,1) NOT NULL,
[CustID] [int] NOT NULL,
[FirstName] [varchar](40) NOT NULL,
[LastName] [varchar](40) NOT NULL,
[mail] [varchar](255) NULL,
[CreateDate] [datetime] NOT NULL,
[ModifyDate] [datetime] NOT NULL,
CONSTRAINT [PK2_Users] PRIMARY KEY CLUSTERED
(
[UserID] ASC
)
Итак, в настоящее время у меня есть объект User, сопоставленный с таблицей Users следующим образом:
ID ==> Users.UserID
CustID ==> Users.CustID
CustomerString <NOT MAPPED>
FirstName ==> Users.FirstName
LastName ==> Users.LastName
Email ==> Users.Mail
А вот и мой камень преткновения. Мне нужно сопоставить CustomerString с Customers.CustomerString, где Users.CustID = Customers.ID. Из того, что я прочитал, мне кажется, что это не было бы проблемой, если бы идентификаторы были названы одинаковыми в каждой таблице. Однако, как видите, это не так.
Пожалуйста помоги! Это абсолютное требование для этого проекта, над которым я работал последний месяц или около того.
Заранее благодарим вас за любую помощь, которую вы могли бы предоставить!
Райан