mvc2与oracle数据库

时间:2011-09-12 14:49:51

标签: c# asp.net-mvc oracle

我不知道如何启动我的应用程序以及从哪里开始。如果您有这些技术的任何示例应用程序,请分享它(或)请指导我开始我的应用程序。我的技术Framework 3.5和语言将是c#,模板将是MVC2,后端将是oracle 9i。我已经拥有了一个数据库&表。

2 个答案:

答案 0 :(得分:2)

你真的不应该将ASP.NET MVC与某些特定的数据访问技术混合在一起。你应该把它抽象成DAL层。例如:

public interface IProductsRepository
{
    Product Get(int id);
}

然后是控制器:

public class ProductsController: Controller
{
    private readonly IProductsRepository _repository;
    public ProductsController(IProductsRepository repository)
    {
        _repository = repository;
    }

    public ActionResult Index(int id)
    {
        var product = _repository.Get(id);
        return View(product);
    }
}

然后您可以拥有此产品存储库的实现,该存储库将特定于Oracle数据库:

public class ProductsRepositoryOracle: IProductsRepository
{
    ... Oracle specific data access code
    you could either use an ORM such as NHibernate, EF, ... or
    plain ADO.NET with the ODP.NET provider. It's really an implementation
    detail that has no impact on the MVC application.
}

然后剩下的就是配置你的DI框架,将Oracle存储库实现传递给控制器​​。

通过这种方式,您的ASP.NET MVC应用程序与数据来源完全分离。

答案 1 :(得分:0)

我认为最简单的方法是使用Entity Framework模型。它将添加Darin提到的必要抽象层。为了能够将Oracle用作底层数据库服务器,如果还没有人,则可能需要安装实体框架提供程序(检查http://www.oracle.com/technetwork/topics/dotnet/downloads/oracleefbeta-302521.html)。

查看这些教程,这无疑对您有用: Creating Model Classes with the Entity Framework