Tôi đang cố gắng làm việc với EF CodeFirst trong Oracle với ODP.net. Đây là lớp DbContext tôi:Làm thế nào để cấu hình DbContext để làm việc với Oracle ODP.Net và EF CodeFirst?
public class MyCEContext : DbContext {
public DbSet<Person> Persons { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) {
modelBuilder.Entity<Person>().ToTable("PERSONS","myce");
}
public MyCEContext() :
base(new OracleConnection(
"Data Source=cebd; User ID=myce; Password=****;"), true) {}
}
Vấn đề là khi tôi cố gắng để làm một cái gì đó như thế này:
MyCEContext context = new MyCEContext();
Person p = context.Persons.Find(1);
tôi nhận được lỗi bên này:
{"ORA-00942: table or view does not exist"}
Và bàn tồn tại.
Tôi đang làm gì sai?
Tôi có cả lớp và thuộc tính với chú thích dữ liệu với chữ hoa/Tên cột tương ứng và chúng vẫn không hoạt động. Sử dụng DbSet.Find không hoạt động, tuy nhiên, DbSet.SingleOrDefault() làm –
Bạn có thể đặt một số mã từ các lớp hoặc ánh xạ của bạn không? – fcaldera
dường như là lỗi đánh máy trong một trong các thuộc tính chú thích bảng, do đó DbSet.Find duyệt qua tất cả các lớp và ánh xạ chúng tới các bảng của chúng trong khi sử dụng SingleOrDefault() chỉ ánh xạ khi chạy các bảng cần thiết cho truy vấn đó. lỗi đánh máy. Tôi đã nghĩ rằng kể từ khi SingleOrDefault làm việc tất cả các tên bảng là tốt. Vì vậy, câu chuyện dài ngắn, Tìm bản đồ toàn bộ các danh sách đối tượng DbContext của bạn. –