0

データベースで生成されたモデルから生成されたエンティティに動的プロパティを作成するにはどうすればよいのでしょうか。

たとえば、UserInformationテーブルがあります。そのテーブルには、ユーザー名、住所の詳細など、ユーザーに関する基本情報(derr)が含まれています。ユーザーの名前、住所の詳細、電話番号を1つの文字列に連結する読み取り専用プロパティを追加して、に出力できるようにします。見る。この動的プロパティを作成する方法についてのアイデア。これは単純な例です。もっと複雑な計算と連結を行いたいと思っています。

ありがとう

4

1 に答える 1

1

これを行うにはいくつかの方法があります。私は、データベーステーブルにマップするクラスは「純粋」のままにして、データベースの実際のフィールドを反映するプロパティのみを含める必要があると考えていますが、どちらの方法でもプロセスは似ています。

ビューに表示するために必要な情報を保持するモデルクラスを作成できます。

public ViewResult Details(int id)
{
    UserInformation info = ... // get the information object from the database

    UserInformationModel model = new UserInformationModel {
        Id = info.Id,
        Details = String.Join(" ", new[] { info.Name, info.Address, info.PhoneNumber }) );
    }

    return View(model);
}

データバインドされたオブジェクトに追加する場合の代替手段:

public class UserInformation
{
    ...
    public string Details
    {
        get
        {
             return String.Join(" ", new[] { info.Name, info.Address, info.PhoneNumber });
        }
    } 
    ....
}

次に、特定のモデルではなく、データオブジェクト全体をビューに渡します。

于 2010-09-13T06:04:44.607 に答える