我正在尝试使用域驱动开发(DDD)来实现我的新ASP.NET MVC2项目和实体框架4.在做了一些研究之后,我在自己的类项目中为每个层提出了以下层约定:
MyCompany.Domain
public class User
{
//Contains all the properties for the user entity
}
public interface IRepository<T> where T : class
{
IQueryable<T> GetQuery();
IQueryable<T> GetAll();
IQueryable<T> Find(Func<T, bool> condition);
T Single(Func<T, bool> condition);
T First(Func<T, bool> condition);
T GetByID(int id);
void Delete(T entity);
void Add(T entity);
void Attach(T entity);
void SaveChanges();
}
public interface IUserRepository: IRepository<User> {}
public class UserService
{
private IUserRepository _userRepository;
public UserService(IUserRepository userRepository)
{
_userRepository = userRepository;
}
// This class will hold …Run Code Online (Sandbox Code Playgroud) c# asp.net domain-driven-design entity-framework-4 asp.net-mvc-2