Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.Net实体框架&;波科。。。查询全表问题_.net_Entity Framework_Linq To Entities_Poco - Fatal编程技术网

.Net实体框架&;波科。。。查询全表问题

.Net实体框架&;波科。。。查询全表问题,.net,entity-framework,linq-to-entities,poco,.net,Entity Framework,Linq To Entities,Poco,我正试图用从edmx自动生成的poco对象实现一个存储库模式 在我的存储库类中,我有: IObjectSet<E> _objectSet; private IObjectSet<E> objectSet { get { if (_objectSet == null) { _objectSet = this._context.CreateObjectSet<E>(); }

我正试图用从edmx自动生成的poco对象实现一个存储库模式

在我的存储库类中,我有:

IObjectSet<E> _objectSet;
private IObjectSet<E> objectSet
{
    get
    {
        if (_objectSet == null)
        {
            _objectSet = this._context.CreateObjectSet<E>();
        }
        return _objectSet;
    }
}

public IQueryable<E> GetQuery(Func<E, bool> where)
{
    return objectSet.Where(where).AsQueryable<E>();
}

public IList<E> SelectAll(Func<E, bool> where)
{
    return GetQuery(where).ToList();
}
ioobjectset\u objectSet;
私有IObjectSet对象集
{
得到
{
如果(_objectSet==null)
{
_objectSet=this._context.CreateObjectSet();
}
返回对象集;
}
}
公共IQueryable GetQuery(Func-where)
{
返回objectSet.Where(Where).AsQueryable();
}
公共IList SelectAll(函数,其中)
{
返回GetQuery(where.ToList();
}
其中E是我的POCO类之一。当我跟踪数据库并运行以下操作时:

IList<Contact> c = contactRepository.SelectAll(r => r.emailAddress == "myemail@email.com");
IList c=contactRepository.SelectAll(r=>r.emailAddress==”myemail@email.com");
它在sql跟踪中显示为“选择联系人表中的所有内容”。我哪里出了问题? 有更好的方法吗?对象集是否不是惰性加载。。。所以它省略了where子句? 这是我读过的文章,上面说要使用objectSet的。。。因为有了POCO,我没有EntityObject要传递到“E”

使用
表达式
而不是
函数
。第一个命令告诉C#编译器发出一个表达式树(用于构建SQL查询),而不是实际的代码,第二个命令是一个普通的委托。这意味着您当前正在数据库调用后使用Linq对对象进行过滤