LINQ to Entitiesを使用してASP.Net MVCでプロジェクトを開始しています。データベースに適切なテーブルを作成するためのモデルを定義するうえで、すばらしいクリーンな方法があるのだろうかと思いました私。私はDjango(MVCフレームワークの面で)に最も精通しており、models.py
の.Net相当版を探しているので、バージョン管理されたものをすべて持つことができます。何か案は?スキーマ移行、ラ・ジャンゴ・エボリューションなどの何らかの形をしていればさらに良いでしょう。ASP.NET MVCでモデルを作成
8
A
答えて
6
あなたがしたいことは、質問を回すことだと思います。エンティティはデータベースから自動的に生成されるため、.NETメカニズムを使用してデータベーススキーマを維持するだけです。これらの他のソリューションが必要とするNHibernateを使用していないので、MigratorDotNetを使用することをお勧めします。 MigratorDotNetはRailsのマイグレーションにルビーとまったく同じ考えを使用しています。
- あなたのデータベースを使用して、スキーマを変更したいたびにそのバージョン
- を追跡し、あなたは、必要に応じて、アップグレードを処理するために、小さなクラスを作成(およびデータベースは、これまで最新でない場合は、ダウングレード)
- はあなただけレーゲンされますので、単純に順番
のクラスアップグレード方法を実行し、これらのクラスに実行順序
0
Castle Project active record is a nice way of doing it.
の場合は、レールのアクティブなレコードにルビーに似た機能を提供しています。
1
もう1つの選択肢は、FluentNhibernateでNHibernateを使用することです。これは、規則に基づいてモデルを自動的にマップします。マッピングをオーバーライドして、必要に応じて調整することもできます。
キャッスルプロジェクトは、LINQ to Entitiesではなく、NHibernateを使用していますか? –
マイグレーションのような機能を望むなら、それは良い選択です – Konstantinos