Tôi muốn tạo thuộc tính tùy chỉnh trên một trong các thực thể của tôi được ánh xạ từ cơ sở dữ liệu, tuy nhiên thuộc tính này không được ánh xạ tới cơ sở dữ liệu. khi cố gắng biên dịch, tôi nhận được thông báo lỗi cho biết rằng thuộc tính không được ánh xạ. Có một thuộc tính hoặc cái gì tôi nên thêm? Cảm ơn trước.Tạo thuộc tính không được ánh xạ trong thực thể (khung thực thể)
Trả lời
Sử dụng các lớp học một phần để thêm thuộc tính hoặc phương pháp bạn muốn thêm. Ví dụ.
namespace WhateverNamespaceYourEntityModelIsIn
{
public partial class TheNameOfYourEntity
{
public string MyNewProperty { get; set; }
}
}
và điều đó sẽ làm bạn.
Bạn cũng có thể đánh dấu thuộc tính của mình với thuộc tính [NotMapped]
hoặc sử dụng phương thức Ignore
từ API thông thạo.
tài sản
public class EntityName
{
[NotMapped]
private string PropertyName { get; }
}
thạo API
public class Entities : DbContext
{
public DbSet<EntityType> Users { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// Some database configuration
modelBuilder.Entity<EntityType>()
.Ignore(i => i.PropertyName);
}
}
đây là giải pháp tốt khi bạn muốn thêm thuộc tính vào đối tượng thực thể nhưng không muốn chúng được liên kết với cơ sở dữ liệu hoặc tệp ánh xạ – mknopf
Sử dụng thuộc tính [NotMapped] là cách dễ nhất để đi nếu bạn có thuộc tính bạn cần tất cả các entite như EntityState mà bạn khai báo trên một lớp cơ sở. Không cần phải chỉnh sửa mọi lớp cấu hình và nhớ làm như vậy mỗi lần một thực thể mới được giới thiệu. –
Xin chào, cảm ơn câu trả lời của bạn. Nhưng khi tôi thử nó, tôi nhận được: "Không hỗ trợ giá trị không được phân loại trong loại không mở." Tôi đang làm gì sai? – Toodoo
Tôi nghiêm túc muộn để nói chuyện, nhưng bạn cũng muốn đánh dấu các phần như serializable và tài sản như serializable - nếu bạn đã từng lập kế hoạch JSON hoặc sắp xếp lại các đối tượng:
[Serializable()]
public partial class MyClass {
private System.Nullable<int> _Age;
[global::System.Runtime.Serialization.DataMemberAttribute(Order = 4)]
public System.Nullable<int> Age {
...
}
}
Cả hai chỉ thị [Serializable()] và [global:] là cần thiết. Nếu bạn đã loại trừ [global:], bất kỳ khi nào bạn đã tuần tự hóa nó, nó sẽ bị bỏ qua và không được đưa vào tuần tự hóa.
Tuyệt vời! Tôi đã quay bánh xe của tôi quá lâu để cố gắng tìm ra lý do tại sao chỉ một trong các biến được đăng của tôi luôn là rỗng. Điều này đã làm các trick! Cảm ơn! – RobDigital
Trang này thực sự đã giúp tôi. Tôi sẽ thêm chính xác những gì tôi đã thêm vào cấu hình ánh xạ của mình sau khi nhìn thấy câu trả lời của Kniganapolke.
public TheObjectName()
{
this.HasKey(t => t.ID);
this.Ignore(t => t.IsProcess); //we don't want EF to worry about this
}
Cảm ơn mọi người, cảm ơn SO!
- 1. Bao gồm các thuộc tính phía máy chủ không được ánh xạ tới thực thể khung thực thể
- 2. Ánh xạ tham gia các bảng trong khung thực thể
- 3. ánh xạ nhiều bảng vào một lớp thực thể duy nhất trong khung thực thể
- 4. nHibernate HQL - thực thể không được ánh xạ
- 5. Ánh xạ chọn các thủ tục lưu sẵn trong khung thực thể
- 6. Khung thực thể - loại edm được ánh xạ nhiều hơn một
- 7. Thuộc tính điều hướng trong khung thực thể là gì?
- 8. org.hibernate.MappingException: Cột lặp lại trong ánh xạ cho thực thể
- 9. Thêm thuộc tính tùy chỉnh vào khung thực thể?
- 10. Điều khiển khung thực thể Thuộc tính quy tắc tạo thuộc tính
- 11. Cách chỉ định ánh xạ thực thể trong JPA 2.1?
- 12. Xác thực khung thực thể
- 13. Ánh xạ khóa ngoài tới các phím tổng hợp trong khung thực thể
- 14. Thêm các thuộc tính thuộc tính tùy chỉnh trong mã khung thực thể
- 15. Khuôn khổ thực thể: ánh xạ tinyint thành boolean
- 16. Thuộc tính nguyên thủy hợp lệ trong Mã khung thực thể đầu tiên là gì?
- 17. Tạo khung thực thể thiếu một thực thể
- 18. Hibernate/Envers không thể đọc được ánh xạ theo thuộc tính
- 19. Bắt tất cả các thực thể ánh xạ từ EnitityManager
- 20. Mã khung thực thể-Ánh xạ đầu tiên phản ánh thiết kế theo hướng miền như thế nào?
- 21. \ Không thể ánh xạ thực thể vào bảng nếu một thực thể khác có cùng tên với bảng
- 22. Bảng phân tách khung thực thể Xóa
- 23. Làm thế nào để ngăn EF từ việc xác thực các thuộc tính không được ánh xạ trong DBContext.SaveChanges()
- 24. Thêm thuộc tính vào thực thể trong Dữ liệu chính
- 25. Khuôn khổ thực thể, POCO và thuộc tính riêng
- 26. Entity Framework Non-nullable được ánh xạ tới một tài sản thực thể nullable
- 27. Các thuộc tính có thể ánh xạ trong hbm.xml có bị tạm thời không?
- 28. JPA - cột được tính làm thuộc tính hạng thực thể?
- 29. Dịch các thuộc tính điều hướng mô hình Khung thực thể thành DTOs
- 30. Khuôn khổ thực thể - Lỗi 11007: Loại đối tượng không được ánh xạ.
Sử dụng các lớp học một phần là cách chính xác để thực hiện việc này và hoạt động tốt cho tôi. Bạn cần hiển thị mã của bạn, ánh xạ của bạn và lỗi chính xác, như những gì bạn đã mô tả cho đến nay đã hoạt động. –