たとえば、FooとBarの2つのクラスがあります。このクラスはいくつかのテーブルにマップされます。NHibernateでデータアクセスメソッドを作成する最良の方法は何ですか?
今のところ、私はクラスごとに静的メソッドを追加、更新、削除、取得しています。
E.g.:
public class Foo
{
private Guid _id;
private string _someProperty;
static Foo Get(Guid id);
static void Add(Foo foo);
static void Update(Foo foo);
static void Delete(Foo foo);
}
だから、私は私の物でなめらかに行う必要があるとき、私はそうのようにそれを言う:
Foo foo = Foo.Get(id);
Foo newfoo = new Foo();
Foo.Add(newfoo);
Foo.Update(newfoo);
Foo.Delete(newfoo);
は、それは良いアプローチですか? そうでない場合は、データにアクセスするためにどのようなアプローチを使用しますか?
おかげ
@kitsuneとリポジトリの使用に同意します。しかし、アクティブなレコードのアプローチが必要な場合は、データアクセスのためのフードの下でnhibernateを使用してCastle Active Recordを使用することができます。私はそれを数回使用しており、小規模なプロジェクトには非常に適しています。 – pythonandchips