c# - Fluent NHibernate two levels Inheritance Issue -


i want have table per type in 1 level , 1 table hierarchy in level. possible?

description here ->

i have these classes:

public class baseitem {    public int id{ get; set; } } public class item : baseitem { } public class child1 : item { } public class child2 : item { } 

i wanna have tables "baseitem" , "item" , not "child1" , "child2"

i try mappings:

public class baseitemmap : classmap<baseitem> {     public baseitemmap()     {         id(p => p.id).column("baseitemid");     } } public class itemmap : subclassmap<item> {    public item()    {       keycolumn("baseitemid");        //note: line not compiled        //      because "itemmap" should of "subclassmap" ,        //      can not use "classmap"!       discriminatesubclassesoncolumn("itemtype");    } } public class child1map : subclassmap<child1> {     public buildingnewsmap()     {         discriminatorvalue(@"child1");     } } public class child2map : subclassmap<child2> {     public buildingnewsmap()     {         discriminatorvalue(@"child2");     } } 

help me please!

a bit awkward work. included properties show mapping of them

public class baseitem {     public virtual int id { get; protected set; }     public virtual datetime created { get; set; } } public class item : baseitem {     public virtual string name { get; set; } } public class child1 : item {     public virtual int property1 { get; set; } } public class child2 : item {     public virtual int property2 { get; set; } }  public class itemmap : classmap<item> {     public itemmap()     {         id(p => p.id).column("baseitemid").generatedby.hilo("100");          join("baseitemtable", join =>         {             join.keycolumn("baseitemid");             join.map(x => x.created);         });          discriminatesubclassesoncolumn("itemtype");     } }  public class child1map : subclassmap<child1> {     public child1map()     {         discriminatorvalue("child1");          map(x => x.property1);     } } public class child2map : subclassmap<child2> {     public child2map()     {         discriminatorvalue("child2");          map(x => x.property2);     } } 

Comments

Popular posts from this blog

Change php variable from jquery value using ajax (same page) -

Pull out data related to my apps from Android Play Store and iOS App Store -

How can I fetch data from a web server in an android application? -