Я использую C#'s EF Core
, и хорошим преимуществом этого является то, как я могу динамически обновлять любой атрибут в модели Users
одним методом. Я хочу, чтобы триггер чувствовал, когда мой атрибут token
в моей таблице Users
обновляется. Это довольно просто, но, скажем, Users
имеет два «подклассы / материализованные представления» Donators
и Staffs
. Я хочу, чтобы следующие симметричные атрибуты совпадали при обновлении через триггер.
CREATE TABLE [Users](
email VARCHAR(320) NOT NULL,
password_salt varbinary(max) NOT NULL,
password_hash varbinary(max) NOT NULL,
token VARCHAR(320),
/*d=Donator | s=Staff*/
roles VARCHAR (2) NOT NULL,
/*For: Donator */
amount_donated MONEY,
/*For: Staff */
title VARCHAR(128),
PRIMARY KEY (email),
);
/***Role Based Sub-Class Tables***/
CREATE TABLE Donators(
email VARCHAR(320) NOT NULL,
password_salt varbinary(max) NOT NULL,
password_hash varbinary(max) NOT NULL,
token VARCHAR(320),
roles VARCHAR (2) NOT NULL,
amount_donated MONEY NOT NULL,
PRIMARY KEY (email),
FOREIGN KEY (email) REFERENCES [Users](email)
ON DELETE CASCADE
ON UPDATE CASCADE
);
CREATE TABLE Staffs(
email VARCHAR(320) NOT NULL,
password_salt varbinary(max) NOT NULL,
password_hash varbinary(max) NOT NULL,
token VARCHAR(320),
roles VARCHAR (2) NOT NULL,
title VARCHAR(128) NOT NULL,
type VARCHAR(256),
created DATETIME,
PRIMARY KEY (email),
FOREIGN KEY (email) REFERENCES [Users](email)
ON DELETE CASCADE
ON UPDATE CASCADE
);
Чтобы не загромождать этот раздел с вопросами, я не буду ставить свой триггер, поскольку в данный момент он не работает так, как я хочу, поскольку атрибут Donators
token
не совпадает при обновлении Users
атрибут token
.
Мой код, относящийся к этому вопросу, можно найти здесь (строки 248-366). Heads up У пользователей есть еще несколько подклассов. Но мне просто нужно понять и найти код, который позволяет token
в Staffs
и Donators
.