【问题标题】:What generates DataSet.designer.vb files什么生成 DataSet.designer.vb 文件
【发布时间】:2017-04-15 04:33:25
【问题描述】:

我在尝试修复其他开发人员的代码时不断遇到问题,我选择使用的一种方法是手动更改生成的 dataset.designer.vb 文件以包含重载的数据库 CRUD 方法... 经过一番搜索并浏览代码文件后,我仍然无法弄清楚用于生成这些文件的源是什么……但是,我了解它实际上是在生成它的 MSDataSetTool,而不是禁用它并必须手动重构数据集中的每个方法,我宁愿保留它,只需更改其设计来源的任何源文件......

MSDataSetGenerator 在哪里查看来决定如何生成/重新生成 Designer.vb 文件?

【问题讨论】:

    标签: vb.net dataset-designer msdatasetgenerator


    【解决方案1】:
    '------------------------------------------------------------------------------
    ' <auto-generated>
    '     This code was generated by a tool.
    '     Runtime Version:4.0.30319.42000
    '
    '     Changes to this file may cause incorrect behavior and will be lost if
    '     the code is regenerated.
    ' </auto-generated>
    '------------------------------------------------------------------------------
    

    没错。你不想碰那个。

    但是您应该有一个包含数据模型的 xsd 文件。在我的解决方案中添加一个新的 DataSet,所有文件都会自动生成。

    但您甚至不想手动编辑 xsd 文件。有一个图形界面可以让您管理表格。

    只需在解决方案资源管理器中双击 xsd 文件即可将其调出并管理数据集。

    【讨论】:

    • 我明白了,谢谢...不过,这就是我的困境...我在原始数据集中看到 CRUD 方法重载,我在之后建模了一个新数据集,但在我创建时并没有生成GUI 中的表格。例如,数据集的 .vb 中有一个 INSERT 方法,但是它需要 12 个参数,而实际表有 22 列。当实际在代码中被调用时,它允许来自数据集“a”的 12 个参数但是当我创建数据集“b”并制作 SAME EXACT 表时,它生成了一个需要 22 个参数的插入方法......这是为什么?
    • 如果我是你,我会识别过载并将它们全部移动到中间层(文件)中。通过在那里乱搞,你只是在延续一个糟糕的编程模式:),而你有机会把事情做好。一种方法是使用部分类来添加重载,另一种方法是对模型进行子类化并添加您的功能。
    • 我知道为什么我没有想到这一点(可能是因为我从未创建过部分类)。所以我可以为部分类创建另一个文件并添加所有必要的重载而不干扰生成的代码?
    • 是的,事实上 DataSet 类是自动声明为 Partial 的,因此您可以继续这样做。确保您的文件位于相同的命名空间和程序集中。下面是我生成的 DataSet 的自动声明:Partial Public Class DataSet1 Inherits Global.System.Data.DataSet ...
    • 我只想在数据集附近创建另一个文件。
    猜你喜欢
    • 2013-12-06
    • 2011-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-13
    • 2014-06-14
    • 1970-01-01
    相关资源
    最近更新 更多