Почему у вас есть атрибуты [OperationContract] в вашем классе DataContract, я считаю, что они недопустимы вне декорированного класса ServiceContract?
Если вы определяете свойства только для чтения вместо этих методов, они должны работать
[DataContract]
public class Author
{
[DataMember]
private string FN, N, P;
public string FamilyName
{
get { return FN; }
}
public string Name
{
get { return N; }
}
public string Patronymic
{
get { return P; }
}
public Author(string familyName, string name, string patronymic)
{
FN = familyName;
N = name;
P = patronymic;
}
}