Как узнать, для чего нужны внешние ключи? - PullRequest
0 голосов
/ 05 ноября 2018

Я сгенерировал свой .edmx из SQL Server, и у меня возникла путаница.

Например, у меня есть таблица UserProfile, и ее столбцы содержат Creator, Modifier и Deleter.

Но в моем автоматически сгенерированном файле .cs содержатся только такие отношения, как User1, User2 и User3.

Я знаю, что могу переименовать User1 в Creator, изменив свойство имени таблицы в настройке .edmx, но я боюсь, что если User1 на самом деле не сопоставляет Creator, а Modifier или Deleter?

Теперь я использую взаимосвязь своих таблиц, зная, что внешний ключ соответствует порядку, указанному в SQL Server, и работает нормально, но я действительно хочу знать, как он работает.

Можно ли заранее определить имя внешней таблицы при изменении таблиц SQL Server? Как я могу изменить имя при создании отношений в SQL Server.

Ниже приведен пример автоматически сгенерированной модели моей таблицы:

public partial class UserProfile
{
    public long Creater { get; set; }
    public long Modifier { get; set; }
    public long Deleter { get; set; }
    ...

    ...
    public virtual User User { get; set; }
    public virtual User User1 { get; set; }
    public virtual User User2 { get; set; }
}

Я видел этот вопрос , который частично соответствует моей точке, но мне нужно, чтобы он был определен настройкой внешнего ключа таблицы SQL Server, потому что он вернется к значению по умолчанию при повторной генерации .edmx.

Мой английский не очень хороший, пожалуйста, не возражайте.

Любое предложение приветствуется.

...