Enity framework zwraca tylko 1 rekord

0

Witam, nie mam pojęcia co może być źle. Entity framework zwraca tylko 1 wiersz danych, podczas gdy w tabeli są 3. Proszę o pomoc w kodzie:

using(var context = new Database.DatabaseContextBase())
{
        var magazines = context.Magazny.Select(x => x.Typ == 0).ToList();
        Console.Write("");
        var mag = context.Magazny.Last();
}
    public class Magazyn
    {
        public int Id { get; set; }
        public string Numer { get; set; }
        public string Nazwa { get; set; }
        public int Typ { get; set; }
    }
    [DbConfigurationType(typeof(FirebirdContextConfiguration))]
    class DatabaseContextBase : DbContext
    {
        public DatabaseContextBase()
            : base(new FbConnection(ConfigurationManager.GetConnectionString()), true)
        {
        }
        
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            var magazynyDatabaseConfig = modelBuilder.Entity<Magazyn>();
            magazynyDatabaseConfig.HasKey(x => x.Id);
            magazynyDatabaseConfig.Property(x => x.Id).HasColumnName("ID");
            magazynyDatabaseConfig.Property(x => x.Nazwa).HasColumnName("NAZWA");
            magazynyDatabaseConfig.Property(x => x.Numer).HasColumnName("NUMER");
            magazynyDatabaseConfig.Property(x => x.Typ).HasColumnName("TYP");
            magazynyDatabaseConfig.ToTable("GM_MAGAZYNY");
        }

        public DbSet<Magazyn> Magazny { get; set; }
    }
    class FirebirdContextConfiguration : DbConfiguration
    {
        public FirebirdContextConfiguration()
        {
            SetDatabaseInitializer<DatabaseContextBase>(null);
        }
    }
0
var magazines = context.Magazny.Select(x => x.Typ == 0).ToList();

Zwraca mi 1 rekord o wartości true

var mag = context.Magazny.Last();

Na tym wywala wyjątek

LINQ to Entities does not recognize the method 'WeightedAverage.Model.Magazyn LastMagazyn' method, and this method cannot be translated into a store expression.

var magazines = context.Magazny.ToList();

To zwraca tylko 1 rekord

0

Użyj Where, a nie Select.

Where zwraca elementy z kolekcji dla których pasuje warunek, a Select przekształca elementy kolekcji zgodnie z przekazaną funkcją - czyli u ciebie tworzy kolekcję booleanów.

0

Where daje ten sam rezultat

0

Właśnie pobrałem dane z 2 tabeli, są 2 rekordy, w tabeli jest ok 100. natomiast tych 2 pobranych rekordów nie ma w tabeli o co może chodzić? Skąd on to pobrał?

0

Ja pierdziele literówka w nazwie bazy <facepalm>

1 użytkowników online, w tym zalogowanych: 0, gości: 1