您好我正在使用asp.net核心1.1 MVC和EF(代码优先)编写一个小型C#Web应用程序
我想知道什么是最好的工程选择。 让我们假设我有一个类,我需要使用一个或多个相关属性来计算某些东西;让我们举个例子:
class A
{
public virtual int Id { get; set; }
public virtual Collection<B> Bs { get; set; }
public int GetMaxB()
{
return Bs.Max( b => b.Num ); /*simple example, can be more complex */
}
}
class B
{
public virtual int Id { get; set; }
public virtual int Num { get; set; }
}
那么,对于GetMaxB()
(让我们考虑一个更复杂的函数,不仅仅是一行),最佳选择是什么?
答案 0 :(得分:0)
您的逻辑可以是VM的一部分,您可能不希望它与模型混合,模型应该是具有属性的纯类。
答案 1 :(得分:0)
取决于财产的情况和性质。
像DiscountValue这样的计算属性(很少依赖其他属性)是Model类的一部分。
如果使用GetMaxB()的频率较低,那么它可以是Model中的一个函数。
如果GetMaxB()只是在A类中使用哪个集合类的原因,那么您可以认为单独提供的使用并不频繁。