Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 18th, 2012  |  syntax: None  |  size: 2.67 KB  |  hits: 44  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. fluent nhibernate, unable to resolve property: <property>
  2. public T Save(T item)
  3. {
  4.     try
  5.     {
  6.         _session.BeginTransaction();
  7.         int id = (int)_session.Save(item);
  8.         _session.Transaction.Commit();
  9.         return _session.Get<T>(id);
  10.     }
  11.     catch (Exception)
  12.     {
  13.         _session.Transaction.Rollback();
  14.         throw;
  15.     }
  16. }
  17.        
  18. Id (int, pk, identity)
  19. Field1 (nvarchar)
  20. Field2 (date)
  21. ...
  22.        
  23. TableAId (int, pk) <-- no fk constraint on these tables
  24. Field1 (nvarchar)
  25. Field2 (nvarchar)
  26. Field3 (bit)
  27.        
  28. public class TableA
  29. {
  30.     public virtual int Id {get;set;}
  31.     public virtual string Field1 {get;set;}
  32.     public virtual DateTime Field2 {get;set;}
  33.     public virtual TableB TableB {get;set;}
  34. }
  35.  
  36. public class TableB
  37. {
  38.     public virtual int TableAId {get;set;}
  39.     public virtual string Field1 {get;set;}
  40.     public virtual string Field2 {get;set;}
  41. }
  42.        
  43. public class TableAMap : ClassMap<TableA>
  44. {
  45.     public TableAMap(){
  46.         Id(x => x.Id);
  47.         Map(x => x.Field1);
  48.         Map(x => x.Field2);
  49.         HasOne(x => x.TableB)
  50.          .Cascade.SaveUpdate()
  51.          .Fetch.Join();
  52.     }
  53. }
  54.  
  55. public class TableBMap : ClassMap<TableB>
  56. {
  57.     public TableBMap()
  58.     {
  59.         Id(x => x.Id, "TableAId").GeneratedBy.Foreign("TableA");
  60.         Map(x => x.Field1);
  61.         Map(x => x.Field2);
  62.         Map(x => x.Field3);
  63.     }
  64. }
  65.        
  66. public class TableA
  67. {
  68.     public virtual int Id {get;set;}
  69.     public virtual string Field1 {get;set;}
  70.     public virtual DateTime Field2 {get;set;}
  71.     public virtual TableB TableB {get;set;}
  72.     public virtual int TableBId
  73.     {
  74.          get{return TableB.Id;}
  75.          set{}
  76.     }
  77. }
  78.  
  79. public class TableAMap : ClassMap<TableA>
  80. {
  81.     public TableAMap()
  82.     {
  83.         Id(x => x.Id);
  84.         Map(x => x.Field1);
  85.         Map(x => x.Field2);
  86.         HasOne<TableB>(x => x.TableB)
  87.          .Cascade.SaveUpdate()
  88.          .Fetch.Join()
  89.          .ForeignKey("TableBId");
  90.     }
  91. }
  92.  
  93. public class TableBMap : ClassMap<TableB>
  94. {
  95.     public TableBMap()
  96.     {
  97.         Id(x => x.Id, "TableAId");
  98.         Map(x => x.Field1);
  99.         Map(x => x.Field2);
  100.         Map(x => x.Field3);
  101.     }
  102. }
  103.        
  104. public class TableAMap : ClassMap<TableA>
  105. {
  106.     public TableAMap()
  107.     {
  108.         Id(x => x.Id);
  109.         Map(x => x.Field1);
  110.         Map(x => x.Field2);
  111.         HasOne<TableB>(x => x.TableB)
  112.          .Cascade.All()
  113.          .Constrained()
  114.          .Fetch.Join()
  115.          .ForeignKey("TableBId");
  116.     }
  117. }
  118.  
  119. public class TableBMap : ClassMap<TableB>
  120. {
  121.     public TableBMap()
  122.     {
  123.         Id(x => x.Id, "TableAId").UnsavedValue(0).GeneratedBy.Foreign("TableA");
  124.         Map(x => x.Field1);
  125.         Map(x => x.Field2);
  126.         Map(x => x.Field3);
  127.         HasOne<TableA>(x => x.TableA);
  128.     }
  129. }