MVC查找表

时间:2011-10-19 03:49:48

标签: asp.net-mvc

您好我的MVC应用程序中有一个税率表。它与任何其他表没有外键关系。

然后我有一个模型类Invoice:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.ComponentModel.DataAnnotations;

namespace VectorCheck.Models
{
    public class Invoice : IEntity, IValidatableObject
    {
        public virtual int InvoiceId { get; set; }

        public decimal PayableAmount
        {
           get
           {
               var taxrates = new Repository<TaxRate>();
               var taxrate = taxrates.Where(.....some condition.....);
               return AQuantityOfMoney * taxrate;
            }
        }
     }
}

所以我在这里看到的问题是我需要在我的模型中实例化我的数据源。不好吗?

有人能告诉我更好的方法来解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您可以将PayableAmount属性转换为方法并将存储库作为参数传递:

public decimal GetPayableAmount(ITaxRateCalculator taxrates)
{
    var taxrate = taxrates.Where(.....some condition.....);
    return AQuantityOfMoney * taxrate;
}