Member 13819458 Ответов: 1

Подключение к базе данных C# WPF


Я получаю нули в своих таблицах DbContext и был бы благодарен за небольшую помощь.

Модель:
[Table("tblCustomer")]
    public class Customer
    {
        [Key]
        public int CustomerID { get; set; }
        public virtual ICollection<bike> Bikes { get; set; }
        [Display(Name = "Customer")]
        public string CustomerFirstName { get; set; }
        [Display(Name = "Surname")]
        public string CustomerSurName { get; set; }
    }


DbContext:
public class BikesDbContext
    {
        public DbSet<Customer> Customers { get; set; }
    }


ConnectionString в файле App.Config:
<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
</entityFramework>
<connectionstrings>
    <add name="BikesDbContext" connectionString="server =(local)\SQLExpress;  AttachDbFilename=F:\Database\Bikes.mdf; database= db_Bikes; 
integrated security = SSPI" providerName="System.Data.SqlClient" />
</connectionStrings>


Код вызова:
BikesDbContext db = new BikesDbContext();

      var Dataset = db.Customers.Where
                     (x => x.CustomerSurName.StartsWith("S"));


Я ничего не вижу в отладке в db.Customers, когда я устанавливаю точку останова в строке набора данных var, и был бы благодарен за любую помощь, которую кто-либо может дать. База данных видна в Обозревателе серверов и содержит записи в таблице, начинающиеся с буквы "S" в фамилии. Мне действительно кажется, что DbContext на самом деле не связан с базой данных.

Спасибо

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

Я перепробовал все вышеперечисленное и до сих пор получаю нули в таблице из DbContext

1 Ответов

Рейтинг:
2

Member 13819458

После некоторых проб и ошибок мне удалось найти ошибки.

Во-первых, я не унаследовал от DbContext в своем контексте, поэтому мой контекстный класс теперь выглядит следующим образом

public class BikesDbContext : DbContext
    {
        public DbSet<Customer> Customers { get; set; }
    }


Обратите внимание на разницу, где я теперь правильно наследую.

Кроме того, я обнаружил, что мне не нужно использовать "AttachDbFilename" в строке подключения в App.Config

Теперь это предоставляет набор данных в linq, заполненный клиентами, начинающимися с "S"