2013-02-24 33 views
7

tôi đã thêm vào mô hình của tôi một bảng mới:EF add-di cư tạo di cư trống

public DbSet<ReturnedTransactions> ReturnedTransactions { get; set; } 

Và tôi muốn di cư của tôi để tạo ra bảng mà đối với tôi, vì vậy tôi đã làm:

PM> Add-migration returnedTransactions 

Và nó tạo ra

public partial class returnedTransactions : DbMigration 
{ 
    public override void Up() 
    { 
    } 

    public override void Down() 
    { 
    } 
} 

Làm thế nào để tôi buộc điều này tạo mã thích hợp cho tôi?

+0

Trường nào nằm trong bảng của bạn? Bạn có thể hiển thị lớp mà bạn định nghĩa bảng không? –

+0

Vâng, đó là một lớp học với một loạt các lĩnh vực, tại sao điều đó quan trọng? – ojek

+0

Bạn đã thử biên dịch dự án trước đây chưa? – MayogaX

Trả lời

1

Xóa bảng _MigrationHistory.

+3

Tôi khuyên bạn nên chống lại chỉ làm sạch ngẫu nhiên bảng '__MigrationHistory'. Điều đó sẽ khiến Entity Framework nghĩ rằng việc di chuyển đã chạy và các bảng chưa được tạo. Sau đó, khi Entity Framework chạy các di chuyển, nó sẽ ném các lỗi về các bảng hoặc các cột hiện có. Cách tốt hơn là sử dụng 'Update-Database -Target: 0' hoặc lệnh tương tự để loại bỏ mọi thứ. –

1

Tôi thấy điều này xảy ra khi tôi không thêm thực thể DBSet của tôi vào lớp DbContext được liên kết với tệp Cấu hình di chuyển.

Mặc dù, nó có thể không phải là trường hợp ở đây là chúng ta có thể thấy rằng Người hỏi bao gồm các dòng:

public DbSet<ReturnedTransactions> ReturnedTransactions { get; set; } 

Tuy nhiên, đây là điều mà người ta nên kiểm tra khi họ được trả về một lớp học di cư trống.

0

Tôi vừa gặp sự cố này và tôi đã thêm -Đối với lệnh Thêm di chuyển và hoạt động.

Các vấn đề liên quan