【问题标题】:Generating db schema from c# class从 c# 类生成数据库模式
【发布时间】:2011-02-06 16:53:50
【问题描述】:

除了 nHibernate 之外,还有其他方法可以从类定义中生成 db 模式吗?我的课程没有那么复杂等(很少有一对多的关系)。但是,我希望能够将我的对象保存在数据库中并在需要时重新创建模式。 我坚持使用 .NET 2.0。我对这个项目的性能并不那么特别,我只是懒得创建表和编写保存/加载代码并使用 nHibernate xml 进行 deel。

谢谢

【问题讨论】:

  • 点击帮助您解决问题的答案旁边的复选标记,确保接受您的问题的答案。它为您提供代表,并使您的问题更加更值得回答。
  • 哇,尽管人们给了你正确的答案,但你却没有花时间将其中任何一个标记为已接受!你认为你能很快打破这种趋势吗?

标签: c# nhibernate schema database


【解决方案1】:

.NET 类与关系数据模型不兼容。这就是存在诸如 NHibernate 之类的 ORM 的原因。如果没有描述模型到关系表转换的映射,您将无法创建数据库模式。您可以查看FluentNhibernate automapping 功能。如果您遵守约定,它可以从 .NET 类创建数据库模式。

【讨论】:

  • 据此stackoverflow.com/questions/428151/… .NET 3.5 是流畅的 nhibernate 所必需的。
  • 这是不正确的。自动映射允许您使用约定来避免创建映射文件,它与模式生成无关。
【解决方案2】:

NHibernate 可以做到这一点。相关的类——SchemaExport 和 SchemaUpdate——位于 NHibernate.Tool.hbm2ddl 命名空间中。这里是one example

【讨论】:

    【解决方案3】:

    是的,还有其他方法。这就是所谓的“编程”——你可能听说过。基本上,可以编写自己的数据库生成器。早在 nhibernate 拥有该功能(或者,实际上,甚至存在)之前,就已经做到了。

    坐下来,编写你自己的数据库生成器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-24
      • 1970-01-01
      • 1970-01-01
      • 2012-07-01
      相关资源
      最近更新 更多