Переименование внешней строки в строго типизированном наборе данных - PullRequest
0 голосов
/ 16 мая 2011

Допустим, у меня есть следующая структура схемы базы данных / набора данных:

Таблица Employee

  • EmployeeID PK
  • Имя

Стол Desk

  • DeskID PK
  • NumberOfLamps
  • OwnerEmployeeID FK для EmployeeID

Конечно, я могу получить доступ к имени Сотрудника, выполнив это:

string employeeName = desk.EmployeeRow.Name;

Вместо этого я хотел бы получить доступ к его имени:

string employeeName = desk.OwnerEmployee.Name;

В этом примере, в принципе, это бессмысленно, я знаю, но допустим, у вас есть другая таблица, представляющаяОтображение n-to-n для начальника / сотрудника:

Таблица WhosTheBoss

  • WhosTheBossID PK
  • BossEmployeeID FK
  • SlaveEmployeeID FK

Доступ к их именам не был бы забавным, imho:

string notCool = string.Format(
    "{0} is a slave to {1}.",
    whosTheBoss.EmployeeRow1.Name,
    whosTheBoss.EmployeeRow.Name);



Редактировать: Я проверял в сгенерированном дизайнером коде и вотто, что у меня сейчас есть:

[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public EmployeeRow EmployeeRow {
    get {
        return ((EmployeeRow)(this.GetParentRow(this.Table.ParentRelations["FK_Desk_Employee"])));
    }
    set {
        this.SetParentRow(value, this.Table.ParentRelations["FK_Desk_Employee"]);
    }
}

И то, что я хотел бы иметь:

[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public EmployeeRow OwnerEmployeeRow {
    // ...
}

Но я не могу изменитье, или дизайнер, вероятно, отправит меня на почту ...

Ответы [ 2 ]

1 голос
/ 27 августа 2011

Мне удалось переименовать имя класса, сгенерированное для таблицы данных набора данных, с помощью редактора схемы XML в автоматически сгенерированном файле .xsd.

Возможно, выполняется поиск EmployeeRow вэтот файл и его изменение - тогда вам тоже поможет пересборка?

0 голосов
/ 16 мая 2011

Прежде всего, я люблю ваше использование или "notCool" и рабство.

Вы не упомянули, какой Object Relational Mapper вы используете, но большинство позволит вам изменить имена объектов накоторые у вас есть внешние ключи.Например, в Entity Framework вы можете отредактировать Свойства в модели данных Entity, чтобы предоставить более дружественные имена.

...