【发布时间】:2017-01-05 16:49:05
【问题描述】:
在我的应用程序中,我有一个检查,它检查一堆数据库表的 COUNT。如果这些 COUNTS 中的每一个都高于某个阈值,则它将属性设置为活动。这是用户添加房间信息的控制器示例
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Create([Bind(Include = "ID,RoomTypeID,Description")] Room room, int propertyId)
{
if (ModelState.IsValid)
{
room.ID = Guid.NewGuid();
room.DateCreated = DateTime.Now;
room.PropertyID = propertyId;
db.Rooms.Add(room);
await db.SaveChangesAsync();
var roomCount = db.Rooms.Where(r => r.PropertyID == propertyId).Count();
var rateCount = db.Rates.Where(r => r.PropertyID == propertyId).Count();
var imageCount = db.PropertyImage.Where(r => r.PropertyID == propertyId).Count();
if(roomCount >= 3 && rateCount >= 3 && imageCount >= 3)
{
//Set Property as ACTIVE
}
return RedirectToAction("Index");
}
我遇到的问题是,我想在一大堆控制器上运行此检查(3 个数据库 COUNTS 和“if”语句)。我不想为每个操作在每个控制器上复制此配置。此外,此检查可能容易更改,因此我只想在一个地方更新它。
我最好怎么做?我应该创建某种帮助类吗?
谢谢
【问题讨论】:
标签: asp.net asp.net-mvc entity-framework entity-framework-6