Der Name Castle Project flog mir schon einige Male ins Gesicht, blieb aber nicht hängen. Ist das nicht schön umschrieben? Jetzt bin ich wieder darauf gestoßen und habe ich mal ein wenig umgesehen auf der Seite. Insbesondere das ActiveRecord Tool scheint mir sehr interessant. Unter der Haube arbeitet es mit NHibernate zusammen. Nach außen hin werden aber keine Kenntnisse von NHibernate benötigt. Es kommt sogar noch besser. Als störend empfand ich immer die zusätzlichen hbm.xml Templates. Ähnlich wie bei Gentle.NET gibt es bei ActiveRecord die Möglichkeit diese Attribute direkt in der Businessklasse zu definieren. Hier ein Beispiel:
[ActiveRecord] public class Category : ActiveRecordBase { private int id; private string name; private Category parent; private IList subcategories; [PrimaryKey] public int Id { get { return id; } set { id = value; } } [Property] public string Name { get { return name; } set { name = value; } } [BelongsTo("parent_id")] public Category Parent { get { return parent; } set { parent = value; } } [HasMany(typeof(Category))] public IList SubCategories { get { return subcategories; } set { subcategories = value; } } public static Category[] FindAll() { return (Category[]) ActiveRecordBase.FindAll(typeof(Category)); } }
Mal sehen wann ich die Tage etwas Zeit finde, mich damit ein wenig mehr zu beschäftigen.
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.