srilekhamenon Ответов: 0

Как решить эту ошибку, связанную с Entity framework


Дорогие друзья в IAM получаю следующую ошибку:

'System.Data.Entity.DbSet`1<Northwind.Data.Customer>' does not contain a definition for 'ToList' and no extension method 'ToList' accepting a first argument of type 'System.Data.Entity.DbSet`1<Northwind.Data.Customer>'


я получаю ошибку здесь, как решить эту ошибку ?

private void GetCustomers()
        {
//error in following line 
            _customers = new NORTHWNDEntities().Customers.ToList();           
            
        }


Что я уже пробовал:

полный код классов
 using Northwind.Data;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
namespace Northwind.ViewModel
{
    public class MainWindowViewModel
    {
        private IList<Customer> _customers;
        
        public IList<Customer> Customers
        {
            get
            {
                if (_customers == null)
                {
                    GetCustomers();                    
                }
                return _customers;
                
            }
        }
        private void GetCustomers()
        {
            _customers = new NORTHWNDEntities().Customers.ToList();           
            
        }
    }
} 


и

namespace Northwind.Data
{
    using System;
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure;
    using System.Linq;
    public partial class NORTHWNDEntities : DbContext
    {
        public NORTHWNDEntities() : base("name=NORTHWNDEntities"){}    
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            throw new UnintentionalCodeFirstException();            
        }    
        public virtual DbSet<Customer> Customers { get; set; }
        public virtual DbSet<Employee> Employees { get; set; }
        public virtual DbSet<Order_Detail> Order_Details { get; set; }
        public virtual DbSet<Order> Orders { get; set; }
        public virtual DbSet<Product> Products { get; set; }
    }
}

Richard MacCutchan

Посмотрите на сообщение об ошибке.

srilekhamenon

Моя проблема-System. Data. Entity.DbSet является частью entityframework.dll, на которую я ссылался в слое доступа к данным. я не хочу ссылаться на эту библиотеку dll в других слоях, как я могу решить эту проблему, не делая того же самого.

Richard MacCutchan

Я не понимаю, что вы имеете в виду. Но ваша проблема четко изложена в сообщении об ошибке; это то, что вам нужно исправить.

0 Ответов