Well,the where clause works nicely,but there's a strange issue... I do as below in my PostMap class,it throws exception in my unit test public PostMap() { ... HasMany<Comment>(x=>x.Comments) .WithKeyColumn("ObjID") .Where(x => x.ObjType == CommentTypes.Post.ToString ()); }
When i change to below,everything goes well: HasMany<Comment>(x=>x.Comments) .WithKeyColumn("ObjID") .Where(x => x.ObjType == "Post"); On Jan 30, 8:44 pm, Levin <cocoay...@gmail.com> wrote: > Thanks for your help,i will make a try tonight,and post my response > here later on:) > Thanks again! > > On Jan 30, 5:21 am, James Gregory <jagregory....@gmail.com> wrote: > > > Well, the Where statement is now mapped. > > If ObjType is in your class (and you are using the default column name) you > > can do this: > > > HasMany<Comment>(x => x.Comments) > > .Where(x => x.ObjType == "Product"); > > > If it isn't in your object, or it is but the name differs from the database > > column, then you should do this instead: > > > HasMany<Comment>(x => x.Comments) > > .Where("ObjType = 'Product'"); > > > On Wed, Jan 28, 2009 at 12:36 PM, James Gregory > > <jagregory....@gmail.com>wrote: > > > > I'm not entirely sure how you'dmapthis using standard hbm, but I think > > > it'd probably involve the where attribute on the collection. We currently > > > don't explicitly support where, so you'll have to fudge it. I'd do it > > > something like: > > > public class CommentMap : ClassMap<Comment> > > > { > > > public CommentMap() > > > { > > > // comment fields > > > } > > > } > > > > // and the same for Post > > > public class ProductMap : ClassMap<Product> > > > { > > > public ProductMap() > > > { > > > // mappings > > > HasMany<Comment>(x => x.Comments) > > > .SetAttribute("where", "ObjType = 'Product'"); > > > } > > > } > > > > The contents of the where attribute may vary depending on what your column > > > actually contains. > > > > On Wed, Jan 28, 2009 at 3:15 AM, Levin <cocoay...@gmail.com> wrote: > > > >> Happy new year guys, > > >> I don't know how tomapthese tables(as below),any help will be > > >> appreciated. > > >> Tables are: > > >> 1,Posts > > >> 2,Products > > >> 3,ObjComments > > > >> We need to save those comments on Posts(Or Products) in the > > >> ObjComments table,so there are two special columns 'ObjType' and > > >> 'ObjID' in the ObjComments table.Obviously,ObjType is an enum composed > > >> with 'Post' and 'Product',when ObjID is the post's(or products) > > >> primary key. > > >> My question is,how tomapthese three tables? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Fluent NHibernate" group. To post to this group, send email to fluent-nhibernate@googlegroups.com To unsubscribe from this group, send email to fluent-nhibernate+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/fluent-nhibernate?hl=en -~----------~----~----~----~------~----~------~--~---