Я вижу, что вы можете использовать
[ForeignKeyAttribute("foreignKeyName")]
Но мне интересно, есть ли такой с Тип вместо string ?
Для более безопасного рефакторинга ...
Или есть ли смысл использовать string ?
Если вы имеете в виду, что вы хотите знать, когда имя меняется или другие изменения в ошибке компиляции, что его значение должно быть изменено, лучше использовать Fluent Api
не могли бы вы сделать свой собственный атрибут, который наследуется от атрибута внешнего ключа и перегружать конструктор?Я не проверял это, но вы можете попробовать что-то вроде этого:
public class ForeignKeyTypeAttribute : ForeignKeyAttribute { public ForeignKeyTypeAttribute(string name) : base(name) { } public ForeignKeyTypeAttribute(Type t) : base(t.GetType().Name) { } }