您好我的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;
}
}
}
}
所以我在这里看到的问题是我需要在我的模型中实例化我的数据源。不好吗?
有人能告诉我更好的方法来解决这个问题吗?
答案 0 :(得分:0)
您可以将PayableAmount
属性转换为方法并将存储库作为参数传递:
public decimal GetPayableAmount(ITaxRateCalculator taxrates)
{
var taxrate = taxrates.Where(.....some condition.....);
return AQuantityOfMoney * taxrate;
}