0

このタイトルを考えるのに苦労しました:)

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 について初心者であることを考慮してください。私の例で他のコードの誤りが見られた場合 (取得方法に関しても)、お知らせください。

4

1 に答える 1