我正在尝试这样做:我首先使用EF代码来映射一个旧的现有数据库。有许多类型错误的字段(例如: char(1)被用作布尔值),所以我为我的db上下文创建了一个包装类,它可以完美地映射到数据库表。现在,我想在我的存储库中公开我的实体类型的IQueryable。请看我的示例:
public class MyContext:DbContext
{
public DbSet<WrappedEntity> WrapperEntities;
}
public class Repository
{
private MyContext _context;
//contructors omitted
public IQueryable<Entity> GetEntities()
{
return _context.WrapperEntities; //doesn't compile, I need some convertion here
}
}我已经有了我的转换例程,唯一缺少的是一种在不公开WrappedEntity类的情况下通过我的存储库查询我的DbContext的方法,这是可能的吗?
谢谢。
发布于 2012-04-17 03:52:50
通常使用Queryable.Select进行投影以更改查询的类型……
public IQueryable<Entity> GetEntities()
{
return _context.WrapperEntities.Select(x => new Entity(){...});
} https://stackoverflow.com/questions/10176228
复制相似问题