Guest User

Untitled

a guest
Apr 18th, 2012
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.67 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment