【发布时间】:2013-01-08 07:15:04
【问题描述】:
我现在只想知道如何使用 EF 在 MVC3 中以正确的方式分离代码
根据我的项目结构。
演示 -> 视图和控制器
领域 --> 模型(业务实体)
数据 --> RepositoryBase、IRepository、ApplicationDbContext
服务 --> 第三方服务(PayPal、SMS)或应用程序服务
ApplicationDbContext 需要模型作为参考。
public sealed class ApplicationDbContext : DbContext
{
public DbSet<CountryModel> Country { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
1.那么将 DbContext 放在 Data 中好吗?或者我必须把它移到域中?
现在我必须在 Controller 中编写代码
using (ApplicationDbContext db = new ApplicationDbContext())
{
var countryRepository = new Repository<Country>(db);
if (ModelState.IsValid)
{
countryRepository.insert(country);
db.SaveChanges();
}
}
有什么方法可以将此代码块分隔为任何业务层/服务层?
所以我们只需从控制器调用该层并传递特定的业务实体以执行其余操作。
我想做 PL --> BLL --> DLL 方法使用 MVC 3 & EF?
请建议我正确的方法。
【问题讨论】:
标签: asp.net-mvc-3 entity-framework