将相应的非数据库类添加到实体框架对象

时间:2017-08-16 14:03:57

标签: c# entity-framework entity-framework-core

我目前正在使用EntityFrameworkCore 2.0.0。

我正在创建的应用程序是一个在线商店产品刮刀。所有商店都保存在数据库中,每个商店都有一个实现IStoreScraper的刮刀。

这是我的商店模型:

public class Store 
{
    public int Id { get; set; }
    public string Name { get; set; }

    [NotMapped]
    public IStoreScraper StoreScraper { get; set; }
}

我想知道在从数据库中提取对象时是否可以将正确的IStoreScraper对象添加到Store对象中。来自数据库中的值或其他内容。

我还研究了在模型的构造函数中注入它,但这违反了依赖注入模式,因为每个类都有自己的,已知的实现。

也许我甚至应该从另一个角度来看它,因为这段代码不应该在模型类中?有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以覆盖对象物化事件并在此处添加,如本答案中所述;

How to Inject Helper Dependencies in Domain Model Entity Classes

但是我强烈建议不要这样做。 EF应该是您的数据模型,您应该有一个高于此的业务层,这是添加此类依赖项的正确位置。