2

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

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

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

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

高级未经测试的想法:

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

您也可以在不使用 T4 的情况下通过使用 Code Dom(如果您想生成 C# 代码)并为 Visual Studio 创建新的自定义工具来执行相同的操作。

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

于 2012-07-02T10:56:54.687 回答