2

データベースで直接動作するモデル (個人的に ASP.NET w\Entity Framework を使用) がある場合、コンストラクターを使用して変数を設定する必要がありますか?

例:

public class songs
{
    public IEnumerable<songs> allSongs {get; }

    public songs()
    {
        using (var context = new entities())
        {
            allSongs = context.songs.orderBy(n => n.name).toList();
        }
    }
 }

VS

public class songs
{
    public IEnumerable<songs> allSongs
    {
        get
        {
            using (var context = new entities())
            {
                allSongs = context.songs.orderBy(n => n.name).toList();
            }
         }
    }

    public songs() {}
 }

技術的にはどちらも正しいですが、どちらがより正しいですか? 正解が 1 つしかないと考えることができるのは、設定している変数を常に更新する必要があるか、操作中に同じままにしておく必要がある場合だけです。

4

2 に答える 2

0

1 曲だけ取得したい場合はどうすればよいですか? その場合、すべての曲をロードしたくないと思います。

追加する場合は、既存のプロジェクトまたはチュートリアルを調べて、どのように行うことができるかを確認してください。私がcanと言っていることに注意してください。あなたが読むことは決してそれを行う方法ではありません。たとえば、@JeroenVannevel はリポジトリ パターンを推奨していますが、それを推奨しない人もたくさんいます (EF を使用する場合)。

データ アクセス戦略を決定する前に、entity でよくある質問を参照することをお勧めします。

于 2013-11-06T16:42:36.500 に答える