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



我目前正在使用EntityFrameworkCore 2.0.0。

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

这是我的商店模型:

public class Store 
{
public int Id { get; set; }
public string Name { get; set; }
[NotMapped]
public IStoreScraper StoreScraper { get; set; }
}

我想知道从数据库中获取Store对象时是否可以将正确的IStoreScraper对象添加到该对象中。通过数据库中的值或其他值。

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

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

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

如何在域模型实体类中注入帮助程序依赖项

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

最新更新