Even though, I don't have a solution for you... >From looking at your code snippet, I think your implementation of ActiveRecord for ICategoryItem is unnatural (neither popular pattern of ActiveRecord or Repository). Instead of using interface directly on the model (an object that represent a table), it should be an interface on the Repository classes.
Sincerely, William Chang On Sep 11, 11:43 am, JakeS <[email protected]> wrote: > I have a system where categories can be assigned to multiple objects > (such as a Calendar Event or an Action Item) within the system. Each > of those objects shares an Interface -- ICategoryItem. Then in the > category I have mapped it like this: > > private IList<ICategoryItem> _items; > [HasManyToAny(typeof(ICategoryItem), "CategoryID", "CategoryItems", > typeof(int), > "TypeOfItem", "Item_ID", MetaType = typeof(string), Lazy = true)] > [Any.MetaValue("ACTIONITEM", typeof(ActionItem))] > [Any.MetaValue("DISCUSSION", typeof(Discussion))] > [Any.MetaValue("EVENT", typeof(CalendarEvent))] > [Any.MetaValue("LIBRARYOBJECT", typeof(LibraryObject))] > [Any.MetaValue("WHITEBOARD", typeof(WhiteBoard))] > public IList<ICategoryItem> Items > { > get > { > if (_items == null) { _items = new List<ICategoryItem>(); } > return _items; > } > set > { > _items = value; > } > > } > > This works pretty well, but every time the category.Items is accessed > it fires off a LOT of queries-- > Select ... FROM CategoryItems > Select ... From Discussion > Select ... From Discussion > Select ... From Discussion > and so on. > > Can anyone offer any advice on improving this? Is there a simple > solution, or should I just break this relationship alltogether and > have the items be a list of basic object information, then use that to > find the real object later if needed? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Castle Project Users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/castle-project-users?hl=en -~----------~----~----~----~------~----~------~--~---
