Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从数据表适配器生成代码文件_C#_Asp.net_Datatable_Asp.net Webcontrol_Datatableadapters - Fatal编程技术网

C# 从数据表适配器生成代码文件

C# 从数据表适配器生成代码文件,c#,asp.net,datatable,asp.net-webcontrol,datatableadapters,C#,Asp.net,Datatable,Asp.net Webcontrol,Datatableadapters,我正在使用C#ASP.NET中的一个较旧的网站应用程序,它现在运行在4.7.2上 WebControlling.xsd包含对数据集的定义、约束和操作,其中包含表和表适配器 对于所有较旧的表,有一个类在其上操作,还有一个视图。 .App\u代码 -BLL --Foo.cs -达尔 --WebControlling.xsd .门户网站 -福 --Foos.aspx --FooAdd.aspx --FooEdit.aspx 适配器上有常规的Fill和GetData操作。是否有一种方法可以单独从.xs

我正在使用C#ASP.NET中的一个较旧的
网站应用程序
,它现在运行在4.7.2上
WebControlling.xsd
包含对数据集的定义、约束和操作,其中包含
表适配器

对于所有较旧的表,有一个类在其上操作,还有一个视图。
.App\u代码
-BLL
--Foo.cs
-达尔
--WebControlling.xsd
.门户网站
-福
--Foos.aspx
--FooAdd.aspx
--FooEdit.aspx
适配器上有常规的
Fill
GetData
操作。是否有一种方法可以单独从
.xsd
生成一些(如果不是全部的话)此结构?

我看到的另一个选项是复制和编辑现有的类(如
Foo.cs
),但由于所有类看起来都一样,我觉得它们可以生成。我认为如果需要对其进行更改,那么使用工具会更容易,因为在某些地方,它不太可能失败和/或忘记更改。
这就是
Foo.cs
的外观:

[System.ComponentModel.DataObject]
public class Foo
{
    private FooTableAdapter _fooAdapter;
    public Foos()
    { 
    }

    protected FooTableAdapter Adapter
    {
        get
        {
            if (_FoosAdapter == null) _FoosAdapter = new FoosTableAdapter();
            return _FoosAdapter;
        }
    }

    [System.ComponentModel.DataObjectMethodAttribute
    (System.ComponentModel.DataObjectMethodType.Select, true)]
    public WebControlling.FoosDataTable GetFoos()
    {
        return Adapter.GetFoos();
    }

    [System.ComponentModel.DataObjectMethodAttribute
    (System.ComponentModel.DataObjectMethodType.Select, false)]
    public WebControlling.FoosDataTable GetFooByID(Guid ID)
    {
        return Adapter.GetFooByID(ID);
    }

    [System.ComponentModel.DataObjectMethodAttribute
    (System.ComponentModel.DataObjectMethodType.Select, false)]
    public WebControlling.FoosDataTable GetFoosByCountryID(Guid ID, bool viewAll)
    {
        String sViewAll = viewAll ? "1" : "0";

        return Adapter.GetFoosByCountryID(ID, sViewAll);
    }

    [System.ComponentModel.DataObjectMethodAttribute
    (System.ComponentModel.DataObjectMethodType.Select, false)]
    public WebControlling.FoosDataTable GetOpenFoosByCountryID(Guid ID, bool viewAll)
    {
        String sViewAll = viewAll ? "1" : "0";

        return Adapter.GetOpenFoosByCountryID(ID, sViewAll);
    }

    [System.ComponentModel.DataObjectMethodAttribute
    (System.ComponentModel.DataObjectMethodType.Select, false)]
    public WebControlling.FoosDataTable GetFoosWithForeignValues()
    {
        return Adapter.GetFoosWithForeignValues();
    }

    [System.ComponentModel.DataObjectMethodAttribute
    (System.ComponentModel.DataObjectMethodType.Select, false)]
    public WebControlling.FoosDataTable GetFooByIDWithForeignValues(Guid ID)
    {
        return Adapter.GetFooByIDWithForeignValues(ID);
    }

    public bool AddFoo(System.Guid FooID, System.String Name, Int32 FooYear, System.Boolean IsValid)
    {
        WebControlling.FoosDataTable Foos = new WebControlling.FoosDataTable();
        WebControlling.FoosRow Foosrow = Foos.NewFoosRow();

        Foosrow.ID = Guid.NewGuid();
        Foosrow.FooID = FooID;
        Foosrow.Name = Name;
        Foosrow.FooYear = FooYear;
        Foosrow.IsValid = IsValid;

        Foos.AddFoosRow(Foosrow);
        int rowsAffected = Adapter.Update(Foos);

        return rowsAffected == 1;
    }

    [System.ComponentModel.DataObjectMethodAttribute
    (System.ComponentModel.DataObjectMethodType.Update, true)]
    public bool UpdateFoo()
    {
        ...
    }


    public bool UpdateFooState(System.Guid ID, bool IsClosed)
    {
        ...
    }

    [System.ComponentModel.DataObjectMethodAttribute
    (System.ComponentModel.DataObjectMethodType.Delete, true)]
    public bool DeleteFoo(Guid ID)
    {
        ...
    }
}
对我来说似乎是生成的。

编辑:
对从
.xsd
生成类有着有趣的见解。我的问题之所以不同,是因为:

  • 我正在寻找一种在
    .aspx
  • 我希望只生成一个附加类,而不是再次生成整个文件

Foo类不是生成的,它是手写的,是上的一个变体。感谢您的洞察力,我认为
BLL
DAL
是自定义名称。@wazz,再次回答。您可能需要添加,该方法可以或应该匹配
.xsd
文件true,尽管它们必须匹配,否则您将得到一个错误:o感谢您的反馈。