Ось рішення, яке я використовував для таких випадків. Це корисно, якщо у вас є автоматично згенеровані класи, які ви хочете прикрасити атрибутами. Скажімо, це автоматично згенерований клас:
public partial class UserProfile
{
public int UserId { get; set; }
public string UserName { get; set; }
public string Firstname { get; set; }
public string Lastname { get; set; }
}
І скажімо, я хотів би додати атрибут, щоб вказати, що UserId є ключем. Потім я створив би частковий клас в іншому файлі, подібному до цього:
[Table("UserProfile")]
[MetadataType(typeof(UserProfileMetadata))]
public partial class UserProfile
{
internal sealed class UserProfileMetadata
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
}
}