2010-07-14 87 views
0

我已经给出了使用SubSonic ORM的现有项目的源代码。我的(有限!)理解是SubSonic通过对现有数据库进行反向工程来生成代码。不幸的是我没有用于这个项目的数据库。如何从现有的ActiveRecord.cs文件获取数据库模式?

我确实有上次编译时的ActiveRecord.cs文件。我怎样才能算出数据库模式,以便我可以重现数据库?

回答

1

这听起来像SubSonic 3.这里有几个地方让你开始基于我看我的ActiveRecord.cs文件。您可能想要自己创建一个小型数据库,在其上运行SubSonic,并查看ActiveRecord.cs中生成的内容。

在你的ActiveRecord.cs文件中,你会发现每个表有一个部分类。部分类将从IActiveRecord继承,并可能是表的名称。

在类的内部,您会找到一个名为“KeyName()”的函数,它将返回表的主键列名称。 SubSonic需要一个主键来处理表格并为其生成代码。

寻找一个名为“外键”的区域。如果此表具有外键,则会找到与每个外键对应的属性,如“public IQueryable OtherTableNames”。所以这个表应该有一个名为“OtherTableNameID”的列。检查生成的部分类的外键表,以确保。

紧靠外键区域的下方,您可以找到该表的非外键列的属性。您可以从属性数据类型中猜测列的数据类型(例如,字符串可能是char(x)或varchar(x))。

+0

谢谢 - 这指出我在正确的方向。 – 2010-07-21 15:56:40

相关问题