Last active
August 29, 2015 14:09
-
-
Save NickBranstein/d2083e2f4f836ffee407 to your computer and use it in GitHub Desktop.
NHibernate Map by Code Examples - Part 2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public abstract class BaseSupplyDiscriminated | |
| { | |
| public virtual Guid Id { get; set; } | |
| public virtual string Name { get; set; } | |
| public virtual bool Required { get; set; } | |
| public virtual int Quantity { get; set; } | |
| } | |
| public abstract class BaseSupplyJoined | |
| { | |
| public virtual Guid Id { get; set; } | |
| public virtual string Name { get; set; } | |
| public virtual bool Required { get; set; } | |
| public virtual int Quantity { get; set; } | |
| } | |
| public abstract class BaseSupplyUnioned | |
| { | |
| public virtual Guid Id { get; set; } | |
| public virtual string Name { get; set; } | |
| public virtual bool Required { get; set; } | |
| public virtual int Quantity { get; set; } | |
| } | |
| public class ArtSupplyDiscriminated : BaseSupplyDiscriminated | |
| { | |
| public virtual string Color { get; set; } | |
| } | |
| public class ArtSupplyJoined : BaseSupplyJoined | |
| { | |
| public virtual string Color { get; set; } | |
| } | |
| public class ArtSupplyUnioned : BaseSupplyUnioned | |
| { | |
| public virtual string Color { get; set; } | |
| } | |
| public class CleaningSupplyDiscriminated : BaseSupplyDiscriminated | |
| { | |
| public virtual string Size { get; set; } | |
| } | |
| public class CleaningSupplyJoined : BaseSupplyJoined | |
| { | |
| public virtual string Size { get; set; } | |
| } | |
| public class CleaningSupplyUnioned : BaseSupplyUnioned | |
| { | |
| public virtual string Size { get; set; } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public class BaseSupplyDiscriminatedMap : ClassMapping<BaseSupplyDiscriminated> | |
| { | |
| public BaseSupplyDiscriminatedMap() | |
| { | |
| Id(p => p.Id, m => m.Generator(Generators.Guid)); | |
| Discriminator(dm => | |
| { | |
| dm.NotNullable(true); | |
| dm.Column("Discriminator"); | |
| }); | |
| Property(p => p.Name); | |
| Property(p => p.Quantity); | |
| Property(p => p.Required); | |
| } | |
| } | |
| public class BaseSupplyJoinedMap : ClassMapping<BaseSupplyJoined> | |
| { | |
| public BaseSupplyJoinedMap() | |
| { | |
| Id(p => p.Id, m => m.Generator(Generators.Guid)); | |
| Property(p => p.Name); | |
| Property(p => p.Quantity); | |
| Property(p => p.Required); | |
| } | |
| } | |
| public class BaseSupplyUnionedMap : ClassMapping<BaseSupplyUnioned> | |
| { | |
| public BaseSupplyUnionedMap() | |
| { | |
| Id(p => p.Id, m => m.Generator(Generators.Guid)); | |
| Property(p => p.Name); | |
| Property(p => p.Quantity); | |
| Property(p => p.Required); | |
| } | |
| } | |
| public class ArtSupplyDiscriminatedMap : SubclassMapping<ArtSupplyDiscriminated> | |
| { | |
| public ArtSupplyDiscriminatedMap() | |
| { | |
| Property(p => p.Color); | |
| } | |
| } | |
| public class ArtSupplyJoinedMap : JoinedSubclassMapping<ArtSupplyJoined> | |
| { | |
| public ArtSupplyJoinedMap() | |
| { | |
| Key(km => km.Column("Id")); | |
| Property(p => p.Color); | |
| } | |
| } | |
| public class ArtSupplyUnionedMap : UnionSubclassMapping<ArtSupplyUnioned> | |
| { | |
| public ArtSupplyUnionedMap() | |
| { | |
| Property(p => p.Color); | |
| } | |
| } | |
| public class CleaningSupplyDiscriminatedMap : SubclassMapping<CleaningSupplyDiscriminated> | |
| { | |
| public CleaningSupplyDiscriminatedMap() | |
| { | |
| Property(p => p.Size); | |
| } | |
| } | |
| public class CleaningSupplyJoinedMap : JoinedSubclassMapping<CleaningSupplyJoined> | |
| { | |
| public CleaningSupplyJoinedMap() | |
| { | |
| Key(km => km.Column("Id")); | |
| Property(p => p.Size); | |
| } | |
| } | |
| public class CleaningSupplyUnionedMap : UnionSubclassMapping<CleaningSupplyUnioned> | |
| { | |
| public CleaningSupplyUnionedMap() | |
| { | |
| Property(p => p.Size); | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment