Я хочу, чтобы некоторые Fk отношение как ниже код, пусть у меня есть таблица Сотрудник & EmpMetadataВозможно ли создать отношение внешнего ключа с текстовыми столбцами в Sqite?
CREATE TABLE [Employee] (
[Empid] integer PRIMARY KEY NOT NULL,
[FName] text NOT NULL,
[lname] text NOT NULL
)
CREATE TABLE [EmpMetadata] (
[Name] text NOT NULL,
[Value] text NOT NULL,
[lname] text,
PRIMARY KEY (Name, Value, lname),
CONSTRAINT [FK_Emp] FOREIGN KEY ([lname]) REFERENCES [Employee]
([lname]) ON UPDATE CASCADE ON DELETE CASCADE
);
Когда я excecuting, он та или иная строчка успешно, но когда м генерации EDMX для этого соотношение не отображается. Эти две таблицы отображаются как отдельный объект.
Я использовал Constraint lname_unique UNIQUE(lname)
в таблице Employee, хотя он был правильно обработан, но в edmx file его не показано отношение.
Но если я использую
CREATE TABLE [EmpMetadata] (
[Id] integer NOT NULL,
[Value] text NOT NULL,
[lname] text,
PRIMARY KEY (Id, Value, lname),
CONSTRAINT [FK_Emp] FOREIGN KEY ([Id]) REFERENCES [Employee]
([Empid]) ON UPDATE CASCADE ON DELETE CASCADE
);
Затем в EDMX файл, отношения FK правильно показывает.
Может ли кто-нибудь сказать мне, почему он не генерирует отношения Fk, если я использую текст столбец как внешний ключ, чтобы связать эти таблицы?