Hier ist die Lösung, die ich für solche Fälle verwendet habe. Dies ist nützlich, wenn Sie automatisch generierte Klassen haben, die Sie mit Attributen dekorieren möchten. Angenommen, dies ist die automatisch generierte Klasse:
public partial class UserProfile
{
public int UserId { get; set; }
public string UserName { get; set; }
public string Firstname { get; set; }
public string Lastname { get; set; }
}
Angenommen, ich möchte ein Attribut hinzufügen, um anzugeben, dass UserId der Schlüssel ist. Ich würde dann eine Teilklasse in einer anderen Datei wie dieser erstellen:
[Table("UserProfile")]
[MetadataType(typeof(UserProfileMetadata))]
public partial class UserProfile
{
internal sealed class UserProfileMetadata
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
}
}