Entity framework 使用原始SqlQuery查询实体框架中的抽象类

Entity framework 使用原始SqlQuery查询实体框架中的抽象类,entity-framework,abstract-class,Entity Framework,Abstract Class,我尝试使用SqlQuery()方法(代码优先)查询抽象实体 公共抽象类UserComment { …[内部文件] } 公共类BlogComment:UserComment { …[内部文件] } var result=Context.Database.SqlQuery( @“从[UserComments]中选择*,其中…[内部]”, 新的SqlParameter(“user_id”,user.id)); 这给了我一个错误: System.ArgumentNullException: Value

我尝试使用SqlQuery()方法(代码优先)查询抽象实体

公共抽象类UserComment
{
…[内部文件]
}
公共类BlogComment:UserComment
{
…[内部文件]
}
var result=Context.Database.SqlQuery(
@“从[UserComments]中选择*,其中…[内部]”,
新的SqlParameter(“user_id”,user.id));
这给了我一个错误:

System.ArgumentNullException: Value cannot be null. Parameter name: constructor System.ArgumentNullException:值不能为null。 参数名称:构造函数 如果我将抽象类型更改为具体类型

Context.Database.SqlQuery<BlogComment>
Context.Database.SqlQuery
…一切正常


是否可以使用原始查询查询抽象类?

我没有尝试,但我希望答案是否定的。您无法创建抽象类的实例,而这正是EF在具体化原始查询的结果集时试图做的。

我希望EF将结果集具体化为不同的具体类(从抽象类继承)
Context.Database.SqlQuery<BlogComment>