9

.dbml ファイルで LINQ を使用してプログラムする場合、コンテキストは 1 つしかありません。しかし、MVC サイトを作成すると、エンティティごとに個別のコンテキストがあるように見えます (これは、MVC チュートリアルでその方法を示した方法です。「映画」コンテキストを使用します)。

私は持っている:

public class AccountsContext : DbContext
{
    public AccountsContext()
        : base("DefaultConnection")
    {
    }

    public DbSet<Account> Accounts { get; set; }
}

そして、私が持っています:

public class ClientsContext : DbContext
{
    public ClientsContext()
        : base("DefaultConnection")
    {
    }

    public DbSet<Client> Clients { get; set; }
}

これらを呼び出すときは、次のような個別のコンテキストを作成する必要があります。

private AccountsContext db = new AccountsContext();
private ClientsContext clientsContext = new ClientsContext();

...これはどちらも厄介であり、LINQ を使用するときに 1 つのデータベース オブジェクトをインスタンス化するだけでよいことがわかっているため、冗長に思えます。

1 つのコンテキストのみを使用する方法はありますか?これは推奨されますか?

4

1 に答える 1