Advertisement
Guest User

Untitled

a guest
Jan 18th, 2014
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.29 KB | None | 0 0
  1. Kod:
  2. ICriteria criteria = session.CreateCriteria<Unit>()
  3. .CreateAlias("UnitContext", "uc").CreateAlias("uc.Name", "ContextName")                    .SetFetchMode("UnitContext", FetchMode.Join);
  4.  
  5. return criteria.List<Unit>();
  6.  
  7. Błąd:
  8. NHibernate.QueryException: not an association: Name
  9.  
  10. Klasy:
  11.     public class Unit
  12.     {
  13.         public virtual int Id { get; set; }
  14.         public virtual string Name { get; set; }
  15.         public virtual string ShortName { get; set; }
  16.         public virtual Context UnitContext { get; set; }
  17.     }
  18.  
  19.     public class Context
  20.     {
  21.         public virtual int Id { get; set; }
  22.         public virtual string Name { get; set; }
  23.         public virtual IList<Unit> Units { get; set; }
  24.     }
  25.  
  26. Mapowania:
  27.     public class UnitMap : ClassMap<Unit>
  28.     {
  29.         public UnitMap()
  30.         {
  31.             Id(x => x.Id);
  32.             Map(x => x.Name).Column("name");
  33.             Map(x => x.ShortName).Column("short_name");
  34.             References(x => x.UnitContext, "context_id").Cascade.None();
  35.         }
  36.     }
  37.  
  38.     public class ContextMap : ClassMap<Context>
  39.     {
  40.         public ContextMap()
  41.         {
  42.             Id(x => x.Id);
  43.             Map(x => x.Name);
  44.             HasMany(x => x.Units).KeyColumn("context_id").Inverse().Cascade.All();
  45.         }
  46.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement