使用原始SqlQuery在实体框架中查询抽象类

时间:2012-11-26 14:32:50

标签: entity-framework abstract-class

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

public abstract class UserComment
{
    ... [internals]
}

public class BlogComment : UserComment
{
    ... [internals]
}

var result = Context.Database.SqlQuery<UserComment>(
                 @"select * from [UserComments] where ... [internals]",
                 new SqlParameter("user_id", user.Id));

这给了我错误:

   System.ArgumentNullException: Value cannot be null.
   Parameter name: constructor

如果我将抽象类型更改为具体...

Context.Database.SqlQuery<BlogComment>

......一切正常。

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

1 个答案:

答案 0 :(得分:1)

我没试过,但我希望答案是否定的。您无法创建抽象类的实例,这正是EF在实现原始查询的结果集时尝试执行的操作。