我之前使用的是 EF Power Tools其中包括 ReverseEngineerCodeFirst 的选项,并且正在切换到 EntityFramework Reverse POCO Generator。 .
实现:
using (var db = new DbContext())
{
var user = db.Users
.Include("MembershipType")
.FirstOrDefault(u => u.UserName == userName);
. . .
}
在使用 POCO 生成器时,我现在在 .Include(...)
行收到错误:
'System.Data.Entity.IDbSet' does not contain a definition for 'Include' and no extension method 'Include' accepting a first argument of type 'System.Data.Entity.IDbSet' could be found (are you missing a using directive or an assembly reference?)
在生成的上下文(和 IContext)中:
DbSet<User> Users { get; set; } // Users
在上下文 tt 模板中,我将 IDbSet
的实例更改为 DbSet
这解决了问题,但我很好奇为什么,如果 IDbSet
是DbSet
的接口(interface),为什么IDbSet
不起作用?
最佳答案
我认为您可能只是缺少 using System.Data.Entity;
语句。
关于c# - 如何使用 EntityFramework Reverse POCO Generator 生成导航属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23879680/