MVC具有未映射到数据库的属性

时间:2014-10-02 02:59:02

标签: asp.net-mvc-4 model

我正在创建一个带有删除列表的视图以及一些将更新数据库的其他字段。在模型中,有一些映射到数据库的属性和一些用于下拉列表的属性。未映射的属性会引发异常。有没有一种好方法可以排除下拉列表属性的映射?我尝试将它们放在模型中的一个单独的类中,但是没有用。

模特:

[Table("cardata")]//Links the external table to this model object
public class Cardata
{
    //Maps to the database
    public int id { get; set; }
    public int dealerID { get; set; }
    public string model { get; set; }
    public int numCyl { get; set; }
    public double weight { get; set; }


    // UNMAPPED Used for a drop list of car names
    public string carModel { get; set; }

    public IEnumerable<SelectListItem> carList
    {
        get
        {
            cartableContext ctc = new cartableContext();

            IEnumerable<SelectListItem> retVal = ctc.cardata.GroupBy(c => c.model).Select(cl => cl.FirstOrDefault()).Select(cars => new SelectListItem { Value = cars.id.ToString(), Text = cars.model.ToString() });
            return retVal;
        }
        set { }
    }        
}

1 个答案:

答案 0 :(得分:1)

你能使用[NotMapped]吗?

[NotMapped]
public string carModel { get; set; }

[NotMapped]
public IEnumerable<SelectListItem> carList{...}