我确信这是一个简单的解决办法,但由于某种原因,我似乎无法弄明白。我希望将属性添加到自动生成的类中,而不将其直接添加到动态创建的类中,因为每次更新模型时都会删除该属性。
//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);
我做错了什么容易的事?