У меня есть класс SalesmanBSON игнорировать поле
public class Salesman
{
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
[JsonConverter(typeof(ObjectIdConverter))]
public ObjectId Id { get; set; }
[BsonElement("complementTime")]
public DateTime ComplementTime { get; set; }
[BsonElement("futureWorker")]
public FutureWorkerInfo FutureWorker { get; set; }
}
и класс Консультант
public class Consultant
{
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
[JsonConverter(typeof(ObjectIdConverter))]
public ObjectId Id { get; set; }
[BsonElement("complementTime")]
public DateTime ComplementTime { get; set; }
[BsonElement("futureWorker")]
public FutureWorkerInfo FutureWorker { get; set; }
[BsonElement("recommendedWorkers")]
public FutureWorkerInfo[] RecommendedWorkers { get; set; }
}
Оба этих классов имеет класс
public class FutureWorkerInfo
{
[BsonElement("name")]
public string Name { get; set; }
[BsonElement("homeAddress")]
public FutureWorkerHomeAddress HomeAddress { get; set; }
[BsonElement("phone")]
public string Phone { get; set; }
[BsonElement("secondPhone")]
public string SecondPhone { get; set; }
[BsonElement("email")]
public string Email { get; set; }
[BsonElement("birthDate")]
public string BirthDate { get; set; }
}
И мне нужно игнорировать поле " homeAddress ", когда я использую c девушка «Коммивояделец». Это означает, что я не должен вставлять или читать из базы данных mongo это поле только в Salesman. Когда я использую Консультанта, я должен «могу» некоторые операции с полем «homeAddress».
Вы могли бы попытаться создать еще один класс, который унаследует 'FutureWorkerInfo' (например,' ExtendedFutureWorkerInfo'), переместите 'HomeAddress' поле для этого нового класса и удалить из 'FutureWorkerHomeAddress'. Затем в «Salesman» вы должны использовать существующий класс, а в «Консультант» - новый. Имеет ли это смысл? –
Thx, но нет, мне нужно остаться с общим лицом –
Пожалуйста, не отрицайте ваши сообщения. – Glorfindel