无法连接到另一个层中的数据库

时间:2013-10-04 17:25:51

标签: c# entity-framework asp.net-mvc-4

我花了一些时间使用存储库和实体框架设置数据访问层(DAL)。 DAL是与我的ASP.Net MVC 4应用程序在同一解决方案中的独立项目(类库项目)。但是,我无法从ASP.Net MVC 4应用程序访问数据库创建。

我收到以下错误

  

无法将文件'H:\ Dropbox \ TechCenter \ Visual Studio 2012 \ Projects \ TxValueCardProject \ TxValueCardProject.Presentation \ App_Data \ TxValueCardProject.DataAccessLayer.TxDBContext.mdf'附加为数据库'TxValueCardProject.DataAccessLayer.TxDBContext'。

在我的DAL中我有POCO课程:

public class Customer
    {
        public int CustomerId { get; set; }
        public int RetailerId { get; set; }
        public string  CustomerName { get; set; }
        public string CustomerEmail { get; set; }
        public int PointsBalance { get; set; }
        public decimal CashBalance { get; set; }

        public ICollection<LoyaltyCard> LoyaltyCards { get; set; }
        public virtual Retailer Retailer { get; set; }
    }

和DBContext类

public class TxDBContext:DbContext
    {
        public DbSet<Customer> Customer { get; set; }

     }

此存储库

  public class CustomerRepository : IRepository<Customer>
    {
        TxDBContext context = new TxDBContext();

        public IQueryable<Customer> All
        {
            get { return context.Customers; }
        } 
    }

使用此设置,一切正常在DAL,我的所有单元测试通过,我可以从SQL MS看到数据库。除非我切换到ASP.Net MVC 4项目和适当的引用和Usings并且一切都成功构建然后我尝试一个简单的DB访问,如此,它失败

namespace TxValueCardProject.Presentation.Controllers
{
    public class CustomerController : Controller
    {
       public ViewResult Index()
        {
            var custRepo = new CustomerRepository();
            var customersInDb = custRepo.All;
            return View(customersInDb);
        }

View是一个简单的循环语句@foreach (var item in Model)

请帮助,我错过了什么或做错了什么?

0 个答案:

没有答案