1
2
如果可以使用Visual Studio 2010 v4.0框架,则可以使用“模型优先”和实体框架生成脚本。显然这对2.0版没有帮助,但我认为值得一提。 “模型优先”功能允许您在实体设计器中设计概念(CSDL)模型,然后生成存储(SSDL)模型以及它们之间的映射(MSL)。此外,我们还生成T-SQL脚本来为您创建数据库。要首先运行模型向导,只需右键单击实体设计器图面,然后选择“从模型生成数据库…”。有一篇深入的博客文章 here . 此外,检查 this article 出来。 |
2
2
我不知道有什么工具,但是对于许多表来说,编写一个使用反射的小工具来获取所有属性,并使用定义了列名和类型的create table语句可能是值得的。一个完美的脚本是很难实现的,但是就像你问题中所说的,这可以给你一个很好的起点,然后调整字段类型和大小。 |
3
1
有一个新的CTP出来了 "Code First" Entity Framework . 您可能可以使用它在代码编写多一点之后直接从代码生成数据库。 创建1000个表仍然需要一段时间。 |
4
1
如果类结构是关系型的,并且转换为SQL create table或和ef模型相对简单,那么您可以编写自己的代码生成脚本来创建.edmx或sql。 您可以使用t4或codedom,这可能比手动创建1000个表要花费更少的时间。 编辑: 我第一次写答案时就忘了这一点。不久前我看到罗布·科内里的一个电影放映 亚音速简单收回 . 简单存储库允许您将一个对象插入到数据库中,如果没有表,它会为您创建一个对象。 在这里观看视频 http://subsonicproject.com/docs/Using_SimpleRepository |
5
1
大多数对象关系映射工具都包含一个基于映射类创建数据库模式的选项。 下面是一个完整的例子,说明如何使用NHibernate和 Fluent NHibernate . 这是一个独立的C控制台应用程序,它将映射C业务对象的集合,并基于这些对象创建数据库模式。 两个重要注意事项:
这里是 程序CS . 注意三个名称空间——一个包含程序本身,一个包含实体,一个包含Fluent NHibernate的映射覆盖示例(如果对象不遵守内置映射约定,则很有用)
下面是通过上述代码导出到schema.sql的内容:
|
6
1
只是稍微扩展一下其他人所说的内容——大多数ORM类型的工具都具有模型优先功能。很像EF4,NHibernate和Telerik开放式接入,亚音速( http://www.subsonicproject.com/ )具有可以从类生成表的简单存储库模式。 这里的另一个选择是编写一个简单的基于反射的工具来遍历类。 虽然你没有问,但我对你的数据访问需求很好奇。我们为三个主要任务雇佣关系数据库:持久性、有效的信息检索和声明性引用完整性(例如外键)。每节课只需创建一张桌子就可以完成一半的任务。
您是否有大量的数据(即100千兆或多兆字节)?大量阅读?写很多东西?这些类有自然的主键吗?代理键?你的课程是否定义了彼此之间的关系(即
课堂上有很多领域吗?是否有任何元数据可以精确地指示数据类型,即不仅仅是
与实现数据库结构一样重要的是索引它并使用引用完整性。类/表的数量是否随着时间的推移而增长?也许一个更抽象的、表更少的结构是合适的。 就我的2c。希望有帮助。 |
Duvan · 将逗号(,)替换为点(.)[副本] 2 年前 |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
SoT · SQL Server中求和函数的工作方式 2 年前 |
NKAT · 将列值聚合到列表中会产生错误 2 年前 |
deanpillow · 返回两列中有一个匹配值的记录 2 年前 |
snowflakes74 · 在Dapper中异步查询多个结果 2 年前 |