0 Soalan: Konteks EntityFramework tidak mengambil apa-apa data apabila dicipta dalam projek yang berbeza

soalan dicipta di Wed, May 8, 2019 12:00 AM

Pengkompil Fellow,

Saya menghadapi masalah yang pelik menggunakan Rangka Kerja Entiti dan saya ingin memahami apa sebab utama ini:

Saya mempunyai projek bersama ( Projek A ) merentasi penyelesaian yang mengandungi model kelas data saya Foo.cs.

Model data ini digunakan dalam projek asas teras lain ( Project B ), dan terikat kepada pangkalan data melalui konteks khusus aplikasi. Saya mengemas kini pangkalan data menggunakan pendekatan "Kod Pertama".

Saya boleh melakukan manipulasi Pangkalan Data dari Projek B tanpa sebarang masalah (data beban, mengambilnya, dan sebagainya).

Tetapi, sekarang, saya ingin melakukan manipulasi dari Projek A juga. Jadi, saya telah membuat DbContext baru dalam projek ini (saya tidak boleh merujuknya dari Project B , sudah ada rujukan dari A hingga B), tetapi ketika cuba data beban, saya mendapat rekod kosong, walaupun ia menyambung dengan baik ke Pangkalan Data.

public class ProjectADbContext : DbContext
{
    public ProjectADbContext (string connectionString) : base(connectionString)
    {
    }

    public DbSet<Foo> Foos { get; set; }
}


public class GetDatas
{
    private static void GetDatas()
    {
        using (ProjectADbContext context = new ProjectADbContext (Configuration.RemoteDBConnectionString))
        {
            context.Foos.Load(); //Get an empty record list
        }
    }

Apa yang saya buat salah? Adakah EF fikir ia bukan jenis data yang sama antara kedua-dua konteks?

Terima kasih atas bantuan anda.

    
0
  1. Adakah anda pasti rentetan Sambungan diluluskan betul? kelas Konfigurasi harus bergantung kepada projek, oleh itu mereka mungkin berbeza. jenis ketidaksesuaian data tidak boleh berlaku, kerana EF hanya mempunyai padanan harta apabila menukar set keputusan; jadi sama ada konfigurasinya berbeza maka ia melihat jadual lain, dalam skema lain, atau pangkalan data yang berbeza.
    2019-05-08 23: 23: 54Z
  2. Adakah anda memasang pakej nuget EntityFrameworkCore di ProjectA?
    2019-05-09 00: 53: 42Z
  3. @DevilSuichiro yes the string connection is correct; sebenarnya ia menghubungkan dengan baik ke DB. Apa yang anda maksudkan dengan "EF sedang melihat jadual yang berbeza atau dalam skema yang berbeza"? Bagaimana jadual dipilih? Oleh kerana kedua-dua konteks merujuk kepada model asas yang sama, ia sepatutnya menjadi jadual yang sama yang tidak anda fikirkan? Dan hanya terdapat satu DB.
    2019-05-09 20: 44: 34Z
  4. @ LawrenceZahner Sebenarnya satu projek berjalan pada .NET Standard dan satu lagi pada .NET Core. Adakah anda fikir ia boleh membawa kepada masalah?
    2019-05-09 20: 45: 28Z
0 Jawapan                              0                         
sumber diletakkan di sini