从DB中已有的数据创建种子模型

时间:2012-07-02 02:57:54

标签: database asp.net-mvc-3 entity-framework

有没有办法将现有数据库中的数据转换为可以轻松放入种子方法的对象?

基本上我想让一些人通过表单向我的数据库添加行,然后将其转换为一个对象,我可以在需要进行更改时随时重新编写数据库。

数据库本身是通过代码优先使用以下模型创建的:

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; }
}

1 个答案:

答案 0 :(得分:2)

高水平未经考验的想法:

创建一个新的T4模板,该模板将使用您的上下文或直接SQL查询数据库,并使用方法生成C#静态类(将返回从数据库数据创建的对象集合)或SQL插入命令。根据您的选择,您可以在Seed中调用静态方法来获取要插入的所有实体,或者只是加载创建的SQL脚本并执行它。

你也可以在没有T4的情况下使用Code Dom(如果你想生成C#代码)并为visual studio创建一个新的自定义工具。

这些功能可以是项目的一部分,也可以在单独的外部程序集中编译结果(C#代码)。