如何使用依赖注入与EF来解析具有接口泛型类型的DbSet?

时间:2016-01-27 04:43:21

标签: c# entity-framework dependency-injection

我正在尝试在实体框架(EF)7中实现一个基于在运行时注入的接口的DbSet,我不知道如何做到这一点。例如:

internal class DataContext : DbContext
{
    internal DbSet<IUser> Users { get; set; }
}

当我从我的应用程序中查询此内容时,我希望将IUser解析为我的域“User”对象并返回。当我尝试这样做时,我收到一条错误消息:

  

“为参数'IUser'提供的实体类型'值'必须是Microsoft.Data.Entity.Utilities.Check.ValidEntityType(Type value,String parameterName)中的引用类型。

我不确定我想做的事情是否可行。我已经阅读了其他相关问题的答案,这些问题基本上表明你不应该抽象你的实体,虽然这可能是真的,但我只想弄清楚是否有办法用EF实现这一点。

1 个答案:

答案 0 :(得分:0)

看起来这对于EF7来说是不可能的,但是在EF7的用户语音中是一个高度要求的功能(实际上他们已经在他们的问题列表中指出它将被添加,但是不及时用于RTM)。

UserVoice

Github Issue