首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bson忽略字段

Bson忽略字段
EN

Stack Overflow用户
提问于 2016-12-28 17:57:34
回答 1查看 1.6K关注 0票数 0

我有的推销员

代码语言:javascript
复制
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; }
}

级顾问

代码语言:javascript
复制
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; }       
}

这两个类都有

代码语言:javascript
复制
 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; }
}

当我使用"Salesman“类时,我需要忽略字段"homeAddress”。这意味着我不需要插入或从mongo数据库中读取这个字段,而只是在Salesman中。当我使用顾问时,我应该用"homeAddress“字段来”可以“一些操作。

EN

回答 1

Stack Overflow用户

发布于 2016-12-28 19:20:07

您可以通过接口来完成这一任务。

创建一个ISalesmanFutureWorkInfo

代码语言:javascript
复制
public interface ISalesmanFutureWorkInfo
{
    string Name { get; set; }
    string Phone { get; set; }
    string SecondPhone { get; set; }
    string Email { get; set; }
    string BirthDate { get; set; }
}

创建一个具有IConsultantFutureWorkInfo并继承ISalesmanFutureWorkInfo的ISalesmanFutureWorkInfo

代码语言:javascript
复制
public interface IConsultantFutureWorkInfo : ISalesmanFutureWorkInfo
{
    FutureWorkerHomeAddress HomeAddress { get; set; }
}

更改类以使用接口。

代码语言:javascript
复制
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 IConsultantFutureWorkInfo FutureWorker { get; set; }

    [BsonElement("recommendedWorkers")]       
    public IConsultantFutureWorkInfo[] RecommendedWorkers { get; set; }
}

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 ISalesmanFutureWorkInfo FutureWorker { get; set; }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41367307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档