Tôi là người mới bắt đầu với khung pháp nhân.Không thể tìm thấy phương thức CreateQuery()
và tôi không thể tìm ra phương pháp sau đây CreateQuery()
do tại sao tôi không thể tìm thấy phương pháp này? !!
Tôi là người mới bắt đầu với khung pháp nhân.Không thể tìm thấy phương thức CreateQuery()
và tôi không thể tìm ra phương pháp sau đây CreateQuery()
do tại sao tôi không thể tìm thấy phương pháp này? !!
Vì ESQL được coi là trường hợp sử dụng nâng cao nên không có API đơn giản nào từ DbContext
. Bạn có thể truy cập vào ObjectContext
rằng ủng hộ DbContext
của bạn để làm những gì bạn muốn:
((IObjectContextAdapter)context).ObjectContext.CreateQuery<Person>("esql..")
liên quan: http://thedatafarm.com/blog/data-access/accessing-objectcontext-features-from-ef-4-1-dbcontext/
Như đã đề cập ở đó, bạn cũng có thể thêm một phương pháp (hoặc tài sản) ObjectContext
đến lớp ngữ cảnh của bạn:
public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }
public ObjectContext ObjectContext()
{
return (this as IObjectContextAdapter).ObjectContext;
}
}
Trước hết, đây không phải là giải pháp gốc để truy vấn trong EF. Hãy tìm hiểu càng nhiều LINQ như bạn có thể và sau đó, nếu bạn biết bạn thực sự cần các phương pháp thay thế, rơi trở lại CreateQuery()
Tuy nhiên, bạn có thể nhận được kết quả bạn muốn với đúc để System.Data.Entity.Core.Objects.IObjectContextAdapter
như thế này:
(context as IObjectContextAdapter).ObjectContext.CreateQuery
Ngoài ra, bạn có thể chạy lệnh sql với:
context.Database.SqlQuery<>()
và context.Database.ExecuteSqlCommand()
Hope this helps
Bạn không cần điều đó. Nếu bạn cần lấy các giá trị 'PersonCreditCards' chỉ cần' context.PersonCreditCards.Where (criteria) '. Nó được gọi là LinQ to Entities. Nghiên cứu về điều đó. –
tôi cũng muốn học 'EntitySQLQuery'. iwant để sử dụng phương pháp này :) –