Tôi không thể tìm thấy câu trả lời cho vấn đề này vì vậy tôi cho rằng đó là điều tôi đang làm sai.Fluent NHibernate LazyLoad Issues
Tôi có một PersistenceModel thiết lập nơi mà tôi đã thiết lập một quy ước như sau: -
persistenceModel.Conventions.Add(DefaultLazy.Always());
Tuy nhiên, đối với một trong những mối quan hệ HasManyToMany thuộc một trong các đơn vị của tôi, tôi muốn háo hức tải sẽ diễn ra mà tôi thiết lập như sau: -
HasManyToMany(x => x.Affiliates).Not.LazyLoad();
trực giác, tôi mong đợi tải mong muốn xảy ra như tôi trọng mặc định tải lười biếng mà tôi đã xác định như một quy ước nhưng nó tải vẫn lười biếng. Nếu tôi đặt quy ước DefaultLazy để không bao giờ và sau đó đặt LazyLoad trên một mối quan hệ cá nhân thì nó cũng không hoạt động.
Bất kỳ ý tưởng nào?
Rất tiếc, tôi đã xóa các phần của mã mà tôi không nghĩ là có liên quan ở đây. Tôi cũng có .FetchType.Join() và tắt tải lười vẫn không hoạt động. Cách duy nhất để tắt tải chậm tôi đã thấy rằng công trình cho tôi là bằng cách thiết lập quy ước. – Dotnet
Tôi đã thêm quy ước DefaultLazy.Always() và mối quan hệ HasManyToMany() được tải lên một cách chính xác khi Fetch.Join() được áp dụng. Bạn có thể lấy mẫu của tôi từ GitHub ở đây: https://github.com/JamesKovacs/JamesKovacs.StackOverflow/tree/master/FluentNhHacking/ –
Được rồi, tôi bắt chước khá nhiều mã của bạn trong tình huống của tôi và nó vẫn không hoạt động, vì vậy tôi sẽ phải có một cái nhìn gần hơn. Tôi đang sử dụng .ShowSql() để xác định xem các truy vấn đã được chạy lazily hoặc háo hức mà tôi đoán là chính xác? – Dotnet