C# 从数据表适配器生成代码文件
我正在使用C#ASP.NET中的一个较旧的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
网站应用程序
,它现在运行在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
- 我希望只生成一个附加类,而不是再次生成整个文件
BLL
和DAL
是自定义名称。@wazz,再次回答。您可能需要添加,该方法可以或应该匹配.xsd
文件true,尽管它们必须匹配,否则您将得到一个错误:o感谢您的反馈。