我现在只想知道如何使用 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 中好吗?还是我必须将其移至 Domain ?
现在在控制器中我必须编写代码
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 吗?
请建议我正确的方法。