【发布时间】:2017-07-20 18:25:27
【问题描述】:
我有课推销员
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”。这意味着我不必仅在 Salesman 中插入或从 mongo 数据库中读取此字段。当我使用顾问时,我应该“可以”使用“homeAddress”字段进行一些操作。
【问题讨论】:
-
您可以尝试创建另一个继承
FutureWorkerInfo的类(例如ExtendedFutureWorkerInfo),将HomeAddress字段移动到这个新类并从FutureWorkerHomeAddress中删除。然后在Salesman中,您将使用现有的类,在Consultant中使用新的类。这有意义吗? -
谢谢,但不,我需要和普通实体呆在一起
-
请不要破坏您的帖子。
标签: c# json mongodb bson database