0

我试图在我的“域实体”数据库集中找到一个用户实体。用户实体派生自称为域实体的基本类型。

我想使用以下内容根据他的ID找到一个用户

User userToDelte = db.DomainEntities.OfType<User>().Find(UserID);

但我得到一个编译器错误:

“System.Linq.IQueryable”不包含“Find”的定义,并且没有扩展方法“Find”接受类型的第一个参数......

为什么我用Find()了之后就不能用了OfType<User>()

PS 获得一个强类型的用户实体对我来说很重要,因为它有一个导航属性,其中包含一个名为“UserDetails”的单独表中的所有详细信息以及用户名和密码。

4

1 回答 1

1

那是因为Find方法是在DbSetnot中声明的System.Linq.IQueryable。而不是使用Set方法DbContext来创建DbSet.

User userToDelte = db.Set<User>().Find(UserID);
于 2012-10-27T08:13:13.820 回答