0 Câu hỏi: Bối cảnh EntityFramework không lấy bất kỳ dữ liệu nào khi được tạo trong một dự án khác

câu hỏi được tạo ra tại Wed, May 8, 2019 12:00 AM

Các lập trình viên,

Tôi đang đối mặt với một vấn đề kỳ lạ khi sử dụng Entity Framework và tôi muốn hiểu nguyên nhân sâu xa của việc này:

Tôi có một dự án được chia sẻ ( Dự án A ) trên một giải pháp có chứa lớp mô hình dữ liệu của tôi Foo.cs.

Mô hình dữ liệu này được sử dụng cho một dự án asp core khác ( Dự án B ) và được gắn với cơ sở dữ liệu thông qua ngữ cảnh cụ thể của ứng dụng. Tôi đã cập nhật cơ sở dữ liệu bằng cách sử dụng phương pháp "Code First".

Tôi có thể thực hiện các thao tác Cơ sở dữ liệu từ Dự án B mà không gặp sự cố nào (tải dữ liệu, truy xuất chúng, v.v.).

Nhưng, bây giờ, tôi cũng muốn thực hiện các thao tác từ Dự án A . Vì vậy, tôi đã ngây thơ tạo một DbContext mới vào dự án này (tôi không thể tham chiếu cái này từ Dự án B , nhưng đã có một tham chiếu từ A đến B) tải dữ liệu, tôi nhận được các bản ghi trống, mặc dù nó kết nối tốt với Cơ sở dữ liệu.

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
        }
    }

Tôi đang làm gì sai? Có phải EF nghĩ rằng nó không phải là cùng một loại dữ liệu giữa hai bối cảnh?

Cảm ơn sự giúp đỡ của bạn.

    
0
  1. Bạn có chắc chuỗi kết nối đã qua là chính xác không? lớp Cấu hình nên phụ thuộc vào dự án, do đó chúng có thể khác nhau. Không thể phù hợp với kiểu dữ liệu, vì EF chỉ khớp thuộc tính khi chuyển đổi tập kết quả; do đó, cấu hình của nó là khác nhau nên nó đang xem một bảng khác, trong một lược đồ khác hoặc toàn bộ cơ sở dữ liệu khác.
    2019-05-08 23: 23: 54Z
  2. Bạn đã cài đặt gói nuget EntityFrameworkCore trong ProjectA chưa?
    2019-05-09 00: 53: 42Z
  3. @ DevilSuichiro có, chuỗi kết nối là chính xác; thực sự nó kết nối tốt với DB. Ý bạn là gì khi "EF đang xem xét một bảng khác hoặc trong một lược đồ khác"? Bàn được chọn như thế nào? Vì cả hai bối cảnh đều đề cập đến cùng một mô hình cơ bản, nên nó có phải là cùng một bảng không? Và chỉ có một DB.
    2019-05-09 20: 44: 34Z
  4. @ LawrenceZahner Trên thực tế, một dự án chạy trên .NET Standard và dự án còn lại trên .NET Core. Bạn có nghĩ rằng nó có thể dẫn đến một vấn đề không?
    2019-05-09 20: 45: 28Z
0 Câu trả lời                              0                         
nguồn đặt đây