Tôi đang sử dụng Khung thực thể 6.1.1 và tôi có bảng Users
và bảng User_Documents
(1: nhiều). Tôi đã có tài sản điều hướng từ User_Documents
đến User
mọi thứ đã hoạt động tốt.Khung thực thể bị nhầm lẫn về thuộc tính điều hướng
public partial class User_Document
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public long User_Document_ID { get; set; }
public long User_ID { get; set; }
[ForeignKey("User_ID")]
public virtual User User { get; set; }
}
tôi đã thêm một tài sản chuyển hướng từ người sử dụng để User_Documents
public partial class User
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public long User_ID { get; set; }
[StringLength(50)]
public string Username { get; set; }
public virtual List<User_Document> Documents { get; set; }
}
và bây giờ tôi nhận được một lỗi khi tôi cố gắng để chạy các ứng dụng:
System.Data.Entity .ModelConfiguration.ModelValidationException: Một hoặc lỗi xác thực khác đã được phát hiện trong quá trình tạo mô hình:
User_Documents: Tên: Mỗi tên thành viên trong một EntityContainer phải là duy nhất. Thành viên có tên 'User_Documents' đã được xác định.
Tất nhiên có một bảng gọi là User_Documents
nhưng không có bất động sản nào khác có tên đó. Tôi không chắc nó bị lẫn lộn bởi điều gì. Có lẽ nó lấy tên bảng "Người dùng" và tên thuộc tính "Tài liệu" và cố gắng tạo ra một cái gì đó gọi là "User_Documents" ra khỏi nó? Nếu tôi đổi tên nó để từ Documents
để Some_Documents
như thế này
public virtual List<User_Document> Some_Documents { get; set; }
sau đó tôi nhận được một lỗi khác nhau trong đó nêu
System.InvalidOperationException: Mô hình sao bối cảnh các 'PipeTrackerContext' đã thay đổi kể từ khi cơ sở dữ liệu đã được tạo . Xem xét sử dụng Mã Đầu tiên Migrations để cập nhật cơ sở dữ liệu
Vì vậy, tôi chạy Add-Migration
và tôi có được điều này:
public override void Up()
{
AddColumn("dbo.User_Documents", "User_User_ID", c => c.Long());
CreateIndex("dbo.User_Documents", "User_User_ID");
AddForeignKey("dbo.User_Documents", "User_User_ID", "dbo.Users", "User_ID");
}
Tại sao nó cố gắng để thêm một cột mới có tên gọi User_User_ID
? Tại sao tôi không thể thêm thuộc tính điều hướng Document
như tôi muốn?
Bạn có thể giải thích vấn đề được giải quyết và cách giải quyết vấn đề này không? –
Liên kết này có thể trợ giúp: https://msdn.microsoft.com/en-us/data/jj591583.aspx – Iraj