我使用Breeze进行大型商业应用程序,我有单个api控制器
[BreezeController]
public class BreezeController : ApiController
{
但行数增长(达到600林)......带来可维护性问题
我想使用单个实体管理器,用于客户端缓存服务。我怎么能管理它...帮助PLZ!
答案 0 :(得分:0)
对于我最大的实体管理器,我使用元数据功能使控制器成为部分类,并根据内容将查询方法放在单独的文件中:
一个文件(称为DatamartController.cs):
public partial class DatamartController : ApiController
{
readonly EFContextProvider<DatamartContext> _contextProvider =
new EFContextProvider<DatamartContext>();
[HttpGet]
public string Metadata()
{
return _contextProvider.Metadata();
}
}
另一个文件(我称之为网络表的Networking.cs):
public partial class DatamartController
{
[HttpGet]
[BreezeQueryable]
public IQueryable<TPv2.Models.IPAddress> IPAddresses()
{
IQueryable<TPv2.Models.IPAddress> list =
_contextProvider.Context.IPAddresses.Where(p => !p.DeletedFlag);
return list;
}
}