C# DbSet与ObjectSet-字符串谓词

C# DbSet与ObjectSet-字符串谓词,c#,entity-framework-4,C#,Entity Framework 4,是否仍然可以从DbSet创建ObjectSet 一些背景信息:我有一个模型(EF4.2),它在对象上下文中返回dbset。我需要对它进行改造,以支持来自旧数据模型(EF4)的API。较旧的数据模型返回对象集,API(IIS托管的WCF 3.5服务)中的几个方法接受传递给较旧模型的查询字符串谓词。但是,我需要在新模型中复制此行为,DbSet.Where方法不接受字符串谓词参数。通过从对象上下文(ObjectContext.CreateObjectSet(string))创建一个对象集,我可以部分地

是否仍然可以从
DbSet
创建
ObjectSet

一些背景信息:我有一个模型(EF4.2),它在对象上下文中返回dbset。我需要对它进行改造,以支持来自旧数据模型(EF4)的API。较旧的数据模型返回对象集,API(IIS托管的WCF 3.5服务)中的几个方法接受传递给较旧模型的查询字符串谓词。但是,我需要在新模型中复制此行为,
DbSet.Where
方法不接受字符串谓词参数。通过从对象上下文(
ObjectContext.CreateObjectSet(string)
)创建一个对象集,我可以部分地让它工作,但是这样做似乎无法让任何include语句正常工作

有没有办法将字符串谓词传递到
DbSet
中,或者有没有办法从
DbSet
中获取
ObjectSet
,其中
.Include
方法加载相关数据集

感谢您的支持(下面是一些代码片段):

类创建
ObjectSet
(因此我使用上下文初始化,而不是使用在
ClinicalContext.examies
等中为这些对象返回的DbSet,我获取底层对象上下文,并使用
DbSet
中包含的相同对象从中创建一个
EntitySet

public class ExamServicesEntities
{
    private ClinicalContext _Context;
    public ExamServicesEntities(ClinicalContext context)
    {
        _Context = context;
    }

    private ObjectSet<Exam> _ExamEntities;
    public ObjectSet<Exam> Exams
    {
        get
        {
            if (_ExamEntities == null)
            {
                _ExamEntities = _Context.ObjectContext.CreateObjectSet<Exam>("Exams");
            }
            return _ExamEntities;
        }
    }

    private ObjectSet<Visit> _VisitEntities;
    public ObjectSet<Visit> Visits
    {
        get
        {
            if (_VisitEntities == null)
            {
                _VisitEntities = _Context.ObjectContext.CreateObjectSet<Visit>("Visits");
            }
            return _VisitEntities;
        }
    }
公共类ExamServicesEntities
{
私人临床语境;
公共ExamServicesEntities(ClinicalContext上下文)
{
_上下文=上下文;
}
私有对象集_examenties;
公共对象集考试
{
得到
{
如果(_examenties==null)
{
_ExamEntities=_Context.ObjectContext.CreateObjectSet(“考试”);
}
返回测试;
}
}
私有对象集访问度;
公众对象集访问
{
得到
{
如果(_visienties==null)
{
_Visitenties=_Context.ObjectContext.CreateObjectSet(“访问”);
}
回访率;
}
}
}


执行此操作将正确加载数据,但当我尝试包含其他对象之一(检查包含就诊,就诊包含患者)时,引用未生成。

通过复制和调整用于生成上下文对象的T4模板来解决此问题,以基于ObjectSet生成第二个上下文对象