从所有继承类中排除属性

时间:2019-01-04 22:14:51

标签: c# ef-migrations ef-core-2.0

在我的代码优先模型中,我试图在某些情况下删除字段。我的项目正在使用Mongo和SQL来存储数据,目前,我的团队不确定是否在某些DB中存储某些实体。结果,我一直在创建的模型继承自名为MongoEntity的类,以支持两个数据库。但是,在我的实体框架代码中,我想排除这些属性,因为它们是Mongo特有的。

// IDocument is for Mongo migrations
public class MongoEntity : IMongoEntity, IDocument
{
    [BsonId]
    public ObjectId Id { get; set; }

    public DocumentVersion Version { get; set; }
}

// Example record structure
public class Property : MongoEntity
{
    [Key]
    public int PropertyId { get; set; }

    [BsonDateTimeOptions(Kind = DateTimeKind.Utc)]
    public DateTime BuildYear { get; set; }

    public double SquareFootage { get; set; }

    public decimal PricePerSquareFoot { get; set; }

    public decimal PurchasePrice { get; set; }
}

我可以在[NotMapped]上添加一个MongoEntity属性,但是我更希望将任何EF代码保留在它之外。因此,我正在寻找一种通过EF构建器实现这种目标的方法。可能吗?

0 个答案:

没有答案