Tôi có kịch bản trong đó dữ liệu từ một bảng phải nằm trong 2 đối tượng.Mã khuôn khổ thực thể Đầu tiên: Cách ánh xạ bảng phẳng thành lớp với các đối tượng lồng nhau
[Table]
-Field1
-Field2
-Field3
-Field4
Và giao diện lớp như thế này:
[Class1]
-Field1
-Field2
-Class2 object here
[Class2]
-Field3
-Field4
tôi đã thiết lập trong Class1 thuộc tính [NotMapped] so với tài sản của Class2 có chứa lĩnh vực 3 và 4. Tôi cũng đã thêm cấu hình trong bối cảnh cơ sở dữ liệu:
public class ConfigurationClass1 : EntityTypeConfiguration<Class1> {
public ConfigurationClass1() {
Property(o => o.Class2.Field3).HasColumnName("Field3");
Property(o => o.Class2.Field4).HasColumnName("Field4");
}
}
vấn đề là khi tôi cố gắng sử dụng Entity Framework với Class1 tôi nhận:
Thuộc tính 'Class2' không phải là thuộc tính được khai báo thuộc loại 'Class2'. Xác minh rằng thuộc tính chưa được loại trừ một cách rõ ràng khỏi mô hình bằng cách sử dụng phương thức Bỏ qua hoặc Chú thích dữ liệu NotMappedAttribute . Đảm bảo rằng đó là thuộc tính nguyên thủy hợp lệ.
Làm cách nào tôi có thể sử dụng Mã khung thực thể trước tiên với thực thể có đối tượng lồng nhau với tất cả thông tin trong bảng phẳng?
Dường như rất nhiều rắc rối cho vấn đề đơn giản là gì. –
@Chuck Conway đồng ý, nhưng đây là cách nó hoạt động trong EF –
Tôi đã hoàn toàn quên về ComplexType. Khi tôi thiết lập nó với thuộc tính ComplexType, mọi thứ đã hoạt động. Cảm ơn bạn. +1 và chấp nhận :) –