将虚拟字段添加到mvc3中的模型中

时间:2014-09-11 05:58:06

标签: asp.net-mvc asp.net-mvc-3

这是我的模特课。

 namespace Details.Models
    {
        public class COMPLETE_DETAILS
        {
            [Key]
            public long COMPLETE_DETAIL_ID { get; set; }
            public string TRUCK_NO { get; set; }
            public string CHALLAN_NO { get; set; }
            public string L_R_NO { get; set; }
            public string DEALER_NAME { get; set; }
            public string SOURCE_DESTINATION { get; set; }
            public string ORIGINAL_DESTINATION { get; set; }
            public string COMPANY_DESTINATION { get; set; }
            public decimal? CEMENT_BAG_NO { get; set; }
            public decimal? RATE_PER_BAG { get; set; }
            public decimal? TOTAL_COST_PERSONAL { get; set; }
            public decimal? TOTAL_COST_COMPANY { get; set; }
            public decimal? NET_PROFIT { get; set; }
            public Nullable<DateTime> DATE { get; set; }
            public decimal? OTHER_EXPENSES { get; set; }
            **public virtual long? ROW_NO { get; set; }**
        }
    }

我想在我的模型类中添加一个虚拟字段,但它不适用于我。在我的数据库中,表名是COMPLETE_DETAILS,它具有除ROW_NO之外的所有字段,因此还有另一个选项可以在模型类mvc3中创建虚拟字段

1 个答案:

答案 0 :(得分:0)

我假设你使用例如Entity Framework来链接你的MS-SQL数据库和c#类。因此,您可以在c#类中列出所有必需的属性,然后使用一个额外的字段ROW_NO创建从COMPLETE_DETAILS继承的新类,并以programmaticaly或任何您希望的方式计算它。

public class COMPLETE_DETAILS_CUSTOM: COMPLETE_DETAILS
{
    public virtual long? ROW_NO { get; set; }     
}

一些linq代码:

using(DbContext Db = new DbContext())    
{
    List<COMPLETE_DETAILS_CUSTOM> items = Db.COMPLETE_DETAILS_DBSET.Select((item, index)=> new COMPLETE_DETAILS_CUSTOM(){
        COMPLETE_DETAIL_ID = item.COMPLETE_DETAIL_ID,
        // same with other fields
        ROW_NO = index
    }).ToList();
}