Спящий комплекс Mappings - PullRequest
       10

Спящий комплекс Mappings

1 голос
/ 03 октября 2009

Мы используем дизайн с песоном для хранения измененных строк. Для данных, которые нам нужно сохранить, мы используем 2 таблицы; первый с полями, которые не меняются, второй использует мягкое удаление.

+----------+  +---------------+ 
| TableBase|  | Table         | 
+==========+  +===============+ 
| Id       |  | TableId       |
| FieldA   |  | Id            |
+----------+  | ReplacedBy    |
              | FieldB        |
              | FieldC        | 
              +---------------+ 

Теперь у нас есть текущие классы:

 public abstract class TableBase
 {
  public virtual int Id { get; protected set; }
  public virtual string FieldA {get; set;}
 }

 public class Table: TableBase
 {
  public virtual int TableId { get; protected set; }
  // ReplacedBy is null: not replaced
  public virtual int? ReplacedBy { get; set; }
  public virtual string FieldB {get; set;}
  public virtual string FieldC {get; set;}
 }

Есть ли способ отобразить это с помощью Fluent NHibernate? , вероятно, является лучшим решением, но нельзя сказать, что мы должны загружать только тогда, когда ReplacedBy равно нулю.

Где игнорируется отображением и не присутствует в подклассах.

...