2

既存のデータベースのデータを、シードメソッドに簡単に入れることができるオブジェクトに変換する方法はありますか?

基本的に、フォームを介してDBに行を追加し、それをオブジェクトに変換して、変更が必要なときにいつでもDBを再シードできるようにしたいのです。

データベース自体は、次のモデルを使用してコードファーストで作成されます。

public class Combo
{
    public int Id { get; set; }
    public string MainPrefix { get; set; }
    public string MainDescriptor { get; set; }
    public string MainDish { get; set; }
    public string Connector { get; set; }
    public string SecondaryDescriptor { get; set; }
    public string SecondaryDish { get; set; }
}
4

1 に答える 1

2

高レベルのテストされていないアイデア:

コンテキストまたは直接SQLを使用してデータベースにクエリを実行し、メソッドを使用してC#静的クラス(データベースデータから作成されたオブジェクトのコレクションを返す)またはSQL挿入コマンドを生成する新しいT4テンプレートを作成します。選択した内容に応じて、静的メソッドを呼び出しSeedて挿入するすべてのエンティティを取得するか、作成したSQLスクリプトをロードして実行します。

Code Dom(C#コードを生成する場合)を使用し、Visual Studio用の新しいカスタムツールを作成することにより、T4なしで同じことを行うこともできます。

これらの機能はプロジェクトの一部にすることも、結果(C#コード)を個別の外部アセンブリにコンパイルすることもできます。

于 2012-07-02T10:56:54.687 に答える