Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fluent nhibernate, unable to resolve property: <property>
- public T Save(T item)
- {
- try
- {
- _session.BeginTransaction();
- int id = (int)_session.Save(item);
- _session.Transaction.Commit();
- return _session.Get<T>(id);
- }
- catch (Exception)
- {
- _session.Transaction.Rollback();
- throw;
- }
- }
- Id (int, pk, identity)
- Field1 (nvarchar)
- Field2 (date)
- ...
- TableAId (int, pk) <-- no fk constraint on these tables
- Field1 (nvarchar)
- Field2 (nvarchar)
- Field3 (bit)
- public class TableA
- {
- public virtual int Id {get;set;}
- public virtual string Field1 {get;set;}
- public virtual DateTime Field2 {get;set;}
- public virtual TableB TableB {get;set;}
- }
- public class TableB
- {
- public virtual int TableAId {get;set;}
- public virtual string Field1 {get;set;}
- public virtual string Field2 {get;set;}
- }
- public class TableAMap : ClassMap<TableA>
- {
- public TableAMap(){
- Id(x => x.Id);
- Map(x => x.Field1);
- Map(x => x.Field2);
- HasOne(x => x.TableB)
- .Cascade.SaveUpdate()
- .Fetch.Join();
- }
- }
- public class TableBMap : ClassMap<TableB>
- {
- public TableBMap()
- {
- Id(x => x.Id, "TableAId").GeneratedBy.Foreign("TableA");
- Map(x => x.Field1);
- Map(x => x.Field2);
- Map(x => x.Field3);
- }
- }
- public class TableA
- {
- public virtual int Id {get;set;}
- public virtual string Field1 {get;set;}
- public virtual DateTime Field2 {get;set;}
- public virtual TableB TableB {get;set;}
- public virtual int TableBId
- {
- get{return TableB.Id;}
- set{}
- }
- }
- public class TableAMap : ClassMap<TableA>
- {
- public TableAMap()
- {
- Id(x => x.Id);
- Map(x => x.Field1);
- Map(x => x.Field2);
- HasOne<TableB>(x => x.TableB)
- .Cascade.SaveUpdate()
- .Fetch.Join()
- .ForeignKey("TableBId");
- }
- }
- public class TableBMap : ClassMap<TableB>
- {
- public TableBMap()
- {
- Id(x => x.Id, "TableAId");
- Map(x => x.Field1);
- Map(x => x.Field2);
- Map(x => x.Field3);
- }
- }
- public class TableAMap : ClassMap<TableA>
- {
- public TableAMap()
- {
- Id(x => x.Id);
- Map(x => x.Field1);
- Map(x => x.Field2);
- HasOne<TableB>(x => x.TableB)
- .Cascade.All()
- .Constrained()
- .Fetch.Join()
- .ForeignKey("TableBId");
- }
- }
- public class TableBMap : ClassMap<TableB>
- {
- public TableBMap()
- {
- Id(x => x.Id, "TableAId").UnsavedValue(0).GeneratedBy.Foreign("TableA");
- Map(x => x.Field1);
- Map(x => x.Field2);
- Map(x => x.Field3);
- HasOne<TableA>(x => x.TableA);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment