更新表的业务逻辑放在哪里



我将把CreateOrder()业务逻辑放在哪里?

class Order // this is an entity model for DbContext
{
public int Id { set; get; }
public String name { set; get; }
}
public void CreateOrder(Details details)
{
// set up Order fields
database_name.Order.Add(order);
}

控制器将调用obj.CreateOrder(details);

它会放在App_Code文件夹中的另一个类中吗?

这个问题的答案已经争论了很多。这完全取决于您希望如何构建应用程序。你可以在这里看到这个问题的多个观点:MVC:把业务逻辑放在哪里?

我见过一些应用程序,其中CreateOrder方法将是Model的一部分(在本例中是Order类)。

我还见过很多应用程序,它们将模型保持为与possbile一样干净(POCO类,如您目前所拥有的),并将CreateOrder方法放在处理任何特定于业务的规则的业务层中,将另一个CreateOrder方法放置在数据层中,实际处理将其提交到数据库的操作。

有些设计适用于小型应用程序,而另一些设计适用于更复杂的应用程序。

最新更新