在实体框架中使用Find()和继承

时间:2012-10-27 07:42:44

标签: c# asp.net-mvc linq entity-framework

我正在尝试在“域实体”数据库集中找到用户实体。 User实体派生自名为Domain Entity的基本类型。

我想使用以下内容根据他的ID

查找用户
User userToDelte = db.DomainEntities.OfType<User>().Find(UserID);

但是我收到编译错误:

  

'System.Linq.IQueryable'没有   包含“查找”的定义,没有扩展方法“查找”   接受类型的第一个参数......

在使用Find()之后,为什么我不能使用OfType<User>()

P.S 对我来说,获得一个强类型的用户实体非常重要,因为它具有一个导航属性,在一个名为“UserDetails”的单独表中包含所有这些细节以及用户名和密码。

1 个答案:

答案 0 :(得分:1)

这是因为DbSet方法在System.Linq.IQueryable而非DbContext中声明。而不是使用DbSet User userToDelte = db.Set<User>().Find(UserID); 方法创建{{1}}。

{{1}}