MVC C#在DB类上扩展属性的正确方法

时间:2016-05-06 16:10:55

标签: c# asp.net-mvc

我确信这是一个简单的解决办法,但由于某种原因,我似乎无法弄明白。我希望将属性添加到自动生成的类中,而不将其直接添加到动态创建的类中,因为每次更新模型时都会删除该属性。

//database  <auto-generated> template
public partial class AwesomeClassName
{
    public int TableID{ get; set;}
    public int ForeignID {get; set;}
    public int ContactID {get; set;}
}

//extended class
public class AwesomeClassNameMod : AwesomeClassName
{
    public string fullname{get; set;}

}

public class AwesomeClassViewModel
{
    public IEnumerable<AwesomeClassNameMod> AwesomeClassNameModList { get; set; }
    //Shouldn't I be able to access 
    //  AwesomeClassNameModList.TableID
    //  AwesomeClassNameModList.ForeignID
    //  AwesomeClassNameModList.ContactID
    //  AwesomeClassNameModList.fullname

    //.... other viewmodel properties
}

所以这将编译好并且所有,但是当你尝试从表中选择某些东西时,我得到一个无法转换错误。

IEnumerable<AwesomeClassNameMod> acm = (IEnumerable<AwesomeClassNameMod >)db.AwesomeClassName.Where(a => a.ForeignID == 1);

我做错了什么容易的事?

0 个答案:

没有答案