Few questions regarding BLL and DAL in my first 3-tier Winform Application
I am trying to create 3-tier winform application. Since this is my first attempt of 3-tier design, I got stuck and have few questions.

The application will support attaching multiple sqlite db files.

So I created class like this

    public class Database
    {
        public string Name { get; set; }
        public string FilePath { get; set; }
        public bool isAttached { get; private set; }
    }


Now I want to have collection of those objects.

**Should I create another class like DatabaseList below or is enough to just create a List**

    public class DatabaseList : List<Database>
    {
    ...

vs

    List<Database> myDatabases;


**What should be created in Form1.cs?**

For example I assume the collection above should be created in BusinessLayer and not in Form1.cs and only BusinessLayer class is created in Form1.cs. Is this correct?


**Where to put Attach Method?**

The method would be like this: 

        public void AttachDB(Database db)
        {
            MySqliteHelper.Attach(db.Name, db.FilePath);
            this.Add(db);
        }

Do I put the method in DatabaseList class (if this is the way to create collection) or should it be in BusinessLayer?

**How to make the Attach method to support additional relational databases like MS SQL Compact Edition which also resides in a single file**

I was thinknig of creating another general database helper class with same methods as  MySqliteHelper and the AttachDB method would call that instead. Something like

    MyDBHelper.Attach(db.Name, db.FilePath);

Or is this where `Dependency Injections` like `Ninject` can be helpful? I never used that before and all I am recalling from Ninject is a samurai having different weapons so it seems to me to be kinda similar to my problem having different specific database classes.
Few questions regarding BLL and DAL in my first 3-tier Winform Application
===

I am trying to create 3-tier winform application. Since this is my first attempt of 3-tier design, I got stuck and have few questions.

The application will support attaching multiple sqlite db files.

So I created class like this

    public class Database
    {
        public string Name { get; set; }
        public string FilePath { get; set; }
        public bool isAttached { get; private set; }
    }


Now I want to have collection of those objects.

**Should I create another class like DatabaseList below or is enough to just create a List**

    public class DatabaseList : List<Database>
    {
    ...

vs

    List<Database> myDatabases;


**What should be created in Form1.cs?**

For example I assume the collection above should be created in BusinessLayer and not in Form1.cs and only BusinessLayer class is created in Form1.cs. Is this correct?


**Where to put Attach Method?**

The method would be like this: 

        public void AttachDB(Database db)
        {
            MySqliteHelper.Attach(db.Name, db.FilePath);
            this.Add(db);
        }

Do I put the method in DatabaseList class (if this is the way to create collection) or should it be in BusinessLayer?

**How to make the Attach method to support additional relational databases like MS SQL Compact Edition which also resides in a single file**

I was thinknig of creating another general database helper class with same methods as  MySqliteHelper and the AttachDB method would call that instead. Something like

    MyDBHelper.Attach(db.Name, db.FilePath);

Or is this where `Dependency Injections` like `Ninject` can be helpful? I never used that before and all I am recalling from Ninject is a samurai having different weapons so it seems to me to be kinda similar to my problem having different specific database classes.