Tôi muốn tạo đối tượng mô hình mới có tên Movie_Type
trong ứng dụng web ASP.NET MVC của tôi. Điều gì sẽ khác biệt nếu tôi xác định proprty điều hướng của lớp này là List
, ICollection
hoặc IQueryable
như sau?Danh sách so với IEnumerable và IQueryable khi xác định Thuộc tính điều hướng
public partial class Movie_Type
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public List<Movie> Movies { get; set; }
}
HOẶC
public partial class Movie_Type
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public IQueryable<Movie> Movies { get; set; }
}
HOẶC
public partial class Movie_Type
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public ICollection<Movie> Movies { get; set; }
}
Chỉnh sửa: - @Tomas Petricek. cảm ơn câu trả lời của bạn. trong trường hợp của tôi, tôi đang sử dụng phương pháp tiếp cận cơ sở dữ liệu đầu tiên và sau đó tôi sử dụng mẫu DbContext
để ánh xạ các bảng của tôi, được tự động tạo ra ICollection
cho tất cả các thuộc tính điều hướng, Vì vậy, câu hỏi của tôi là: - 1. Điều này có nghĩa là không phải lúc nào cũng tốt nhất lựa chọn để sử dụng Icollection. Và tôi nên thay đổi các lớp được tạo tự động để phù hợp nhất với trường hợp của tôi. 2. Thứ hai tôi có thể quản lý để lựa chọn giữa tải lười biếng hoặc Háo hức bằng cách định nghĩa .include như
var courses = db.Courses.Include(c => c.Department);
Bất kể những gì tôi đang sử dụng để xác định các tính chất điều hướng. Vì vậy, tôi không thể hiểu được điểm ur. 3. tôi không bao giờ tìm thấy bất kỳ ví dụ hoặc hướng dẫn sử dụng IQuerable
để xác định các thuộc tính điều hướng ,, vì vậy những gì có thể là lý do? BR
bạn đã thử điều này trước khi đăng bài ở đây phải không? – BrokenGlass
http://stackoverflow.com/questions/3603545/ienumerablet-vs-ilistt-vs-iqueryablet bài đăng này sẽ giúp bạn quyết định – Devjosh