【问题标题】:Generation custom files from dbml file?从 dbml 文件生成自定义文件?
【发布时间】:2009-10-29 21:20:45
【问题描述】:

我一直在研究对从 DBML 文件生成的部分类进行更改。我正在阅读使用 sqlmetal.exe 工具,但您似乎无法对其实际吐出的内容进行太多自定义。

我想对文件进行更改以进行序列化,我想将Data Member Attribute 添加到生成的部分类中的指定属性中。

这是否可以使用 sqlmetal.exe 工具来完成,还是我需要编写自己的文件生成工具?

【问题讨论】:

    标签: linq-to-sql dbml sqlmetal


    【解决方案1】:

    您可以查看 T4 模板或 CodeSmith 来生成文件。

    【讨论】:

      【解决方案2】:

      不,不是。您可以使用 Entity Framework 完成此操作。

      http://blogs.msdn.com/jkowalski/archive/2008/05/12/transparent-lazy-loading-for-entity-framework-part-1.aspx

      Jaroslaw Kowalski 编写的代码的工作方式与 Linq to SQL 的工作方式大致相同。

      它有一些问题,但你可以用它做任何事情,因为你有源。我即将发布我的版本(支持存储过程、改进的数据绑定体验和许多其他有用的功能)

      【讨论】:

        【解决方案3】:

        如果您想要添加数据契约和数据成员属性,只需将 L2S 设计器的数据上下文属性中的“序列化模式”属性从“无”更改为“单向”即可。所有实体类都将成为数据契约,它们的成员将成为数据成员......

        【讨论】:

        • 我注意到了这一点,但我只想序列化特定的列/表,所以不想在数据上下文范围内进行。无论如何要这样做?
        • 不,那么您需要像其他人提到的那样关闭代码生成器。看看 Damien Guard 的 T4 模板:l2st4.codeplex.com
        【解决方案4】:

        即将推出的Entity Developer Beta 版将包含高度可定制的类似 T4 的代码生成模板。
        我们还添加了将生成的代码分成单独文件的功能。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-02-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-02-18
          • 1970-01-01
          • 2018-08-26
          相关资源
          最近更新 更多