ASP MVC甚至通过字段查找列是虚拟的

时间:2013-08-05 16:15:09

标签: asp.net-mvc

我正在尝试允许用户通过按名称查找来设置关联。

不幸的是,即使我正在使用虚拟,ASP-MVC 4也抱怨这是这个特定虚拟字段“VesselName”的无效列名。这是错误:

  

无效的列名称'VesselName'   描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息   异常详细信息:System.Data.SqlClient.SqlException:无效的列名称'VesselName'。

这是我的代码:

public int VesselID { get; set; }
public virtual Vessel Vessel { get; set; }
public virtual string VesselName
{
    get
    {
        return Vessel.Name;
    }
    set
    {
        if (value != null)
        {
            // make sure we use upper case
            VesselID = db.Vessels.Where(v => v.Name.Equals(value.ToUpper())).First().ID;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用[NotMapped] DataAnnotation在Entity framweork中拥有“虚拟”或“未映射”属性。程序中使用的虚拟指的是其他东西。

请参阅虚拟方法表。 http://en.wikipedia.org/wiki/Virtual_method_table