I have a plan to rework my company web publishing platform with dependency injection because the coding references start to become a bit more complex.

In my research I have found a lot of examples regarding MVC but our intention at the moment is to rework the web platform's Business logic, DAL, Core etc.. with minimal UI interventions.

The architecture of the web platform is the following

1. SQL database
2. DAL (EF6)
3. Separated model from dal (poco)
4. Business Logic
5. CMS System
6. Front end (websites)

All in all separated projects with their own concerns but heavily referenced in between.

In my research to counteract heavy referencing and coupling I have chosen and followed the following example
[techbrij blog post](http://techbrij.com/generic-repository-unit-of-work-entity-framework-unit-testing-asp-net-mvc)

I do understand the concepts of abstraction and dependency injection well and have set up a test project but hit a snag.

In MVC the instantiating new data class (poco) is handled by the ActionResult

```
// POST: /Country/Create
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Country country)
{
    // TODO: Add insert logic here
    if (ModelState.IsValid)
    {
        _CountryService.Create(country);
        return RedirectToAction("Index");
    }
    return View(country);
}

```

so far so good if we use MVC. But if I use Webforms in order to insert new record my logic says that i need to instantiate a new class from the model fill its properties with specific values and pass it to the BLL/DAL or service layer:

```
public void InsertRecord()
{
    Country country = new Country();
    country.Name = "Some Country"; // or value from textbox..

    _CountryService.Create(country);
}

```

My question is:
Regarding webforms, is this OK or do I need to absrtact the model in order to inject the new data class without the "new" keyword

Since using the "new" keyword will not decouple my data model, how would you do this to achieve decoupling/ioc/di?