Vergleichen Sie die Gleichheit von Eigenschaften im Besitz
Posted: 13 May 2025, 18:28
Ich habe ein Modell mit einem Besitzmodell: < /p>
public sealed class Author
{
public int AuthorId { get; set; }
public Guid AuthorGuid { get; set; }
public required AuthorName Name { get; set; }
public ICollection Books { get; set; } = [];
}
[Owned]
public sealed class AuthorName
{
[MaxLength(248)]
public required string FirstName { get; set; }
[MaxLength(248)]
public string? NickName { get; set; }
[MaxLength(248)]
public required string LastName { get; set; }
}
< /code>
Aber wenn ich diese Eigenschaft in einer EF -Abfrage wie folgt vergleichen möchte: < /p>
.SingleOrDefaultAsync(a => a.Name == author.Name)
< /code>
Ich erhalte diesen Fehler: < /p>
Es ist kein Backing -Feld für Eigenschaften 'Authorname.Authorid' zu finden. Die Eigenschaft hat keinen Getter < /p>
< /blockquote>
Was muss ich tun?>
public sealed class Author
{
public int AuthorId { get; set; }
public Guid AuthorGuid { get; set; }
public required AuthorName Name { get; set; }
public ICollection Books { get; set; } = [];
}
[Owned]
public sealed class AuthorName
{
[MaxLength(248)]
public required string FirstName { get; set; }
[MaxLength(248)]
public string? NickName { get; set; }
[MaxLength(248)]
public required string LastName { get; set; }
}
< /code>
Aber wenn ich diese Eigenschaft in einer EF -Abfrage wie folgt vergleichen möchte: < /p>
.SingleOrDefaultAsync(a => a.Name == author.Name)
< /code>
Ich erhalte diesen Fehler: < /p>
Es ist kein Backing -Feld für Eigenschaften 'Authorname.Authorid' zu finden. Die Eigenschaft hat keinen Getter < /p>
< /blockquote>
Was muss ich tun?>