このタイトルを考えるのに苦労しました:)
SQL サーバー データベースに接続された WCF サービスがあります。ADO.NET を使用して DB からデータを取得します。
いくつかの単純な操作では、DB から取得してから、フェッチしたばかりの EntityObjects の json 表現を送り返しますが、これは正常に機能します。ただし、今はプロシージャを使用してより複雑なフェッチを行っています。データの取得は正常に機能しますが、手続き自体は実際の EntityObject (テーブル) よりも多くの列を返します。例としてこれを取ります:
create table Person
{
Name,
BirthDate
}
// Retrieve Persons from DB with procedure that also calculates each persons actual age!
public List<EntityObject> GetPersons()
{
var personList = new List<EntityObject>();
var dataSet = dbContext.ExceuteProcedure("GET_PERSONS_WITH_AGE", parameters);
var dataTable = dataSet.Tables["result"];
foreach (DataRow row in dataTable.Rows)
{
personList.Add( new PersonEntity
{
Name = (String)row["Name"],
BirthDate = (DateTime)row["BirthDate"],
// Here i want the actual age calculation result, but since the DB-table Person does'nt have this column,
// I can't set it.
}
}
return personList;
}
この追加の変数を持つ CustomPersonClass を作成する必要がありますか? または、ADO.NET オブジェクトの Table Person に別の列を強制することはできますか?
私は ADO.NET について初心者であることを考慮してください。私の例で他のコードの誤りが見られた場合 (取得方法に関しても)、お知らせください。