简体   繁体   中英

return all IQueryable with Entity framework

I just switched from Linq to entities framework, and I'm having problems with methods that returns "all rows". I get: "The type 'System.Data.Objects.DataClasses.EntityObject' is defined in an assembly that is not referenced" error in my "service layer" that calls the data-layer.

I get an error on:

BookingObjectRepository _repository = new BookingObjectRepository();

public IQueryable<BookingObject> GetBookingObjects()
{
    return _repository.GetBookingObjects();
}

and in the "data-layer" I have:

BookingsystemEntities _entities = new BookingsystemEntities();

public IQueryable<BookingObject> GetBookingObjects()
    {
        return from bo in _entities.BookingObjectSet
               select bo;
    }

UPDATE: Filter items, they are "physically" in Filters-folder but namespace is same as the emdx file uses.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; 

namespace BookingSystem.Data.Models
{

public static class BookingObjectFilters
{public static IQueryable<BookingObject> ByBookingObjectID(this IQueryable<BookingObject> qry, int bookingobjectID)
{
return from bo in qry
               where bo.BookingObjectID == bookingobjectID
               select bo;
}

Do you have

using System.Data;
using System.Data.Objects.DataClasses;

in your usings?

and

public IQueryable GetBookingObjects() { return _repository.GetBookingObjects(); } 

should probably be

public IQueryable<BookingObject> GetBookingObjects() { return _repository.GetBookingObjects(); } 

Hope that helps,

Dan

您的系统必须安装.NET 3.5 SP 1或更高版本, 并且您的项目必须引用System.Data.Entity程序集(查看解决方案资源管理器中的references节点)。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM