私は C# の古い ASP.NET に取り組んでおり、
現在4.7.2web site application
で実行されています。
すべての古いテーブルには、それを操作するクラスとビューがあります。
アダプターには通常の操作があります。単独でこの構造のすべてではないにしても、いくつかを生成する方法はありますか?
もう 1 つのオプションは、既存のクラス ( など) をコピーして編集することですが、すべてのクラスが同じように見えるため、それらを生成できるように感じます。これに変更が必要な場合は、ツールを使用する方が簡単だと思います。これは、失敗する可能性が低い、および/またはいくつかの場所で変更を忘れる可能性があるためです。
これは何WebControlling.xsd
tables
table adapters
.App_Code
- BLL
- - Foo.cs
- DAL
- - WebControlling.xsd
.Portal
- Foo
- - 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
- ファイル全体ではなく、追加のクラスを1つだけ生成しようとしています