Исключение свойства из всех классов наследования - PullRequest
0 голосов
/ 05 января 2019

В моих моделях с первым кодом я пытаюсь удалить поле в определенных контекстах. Мой проект использует Mongo и SQL для хранения данных, и на данный момент моя команда не уверена, сохранять ли определенные сущности в какой-либо БД. В результате создаваемые мною модели наследуются от класса MongoEntity для поддержки обеих БД. Однако в моем коде Entity Framework я хотел бы исключить эти свойства, поскольку они специфичны для 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 Builder. Возможно ли это?

...