列出所有类型

时间:2013-07-23 08:23:54

标签: asp.net-mvc-3 entity-framework inheritance linq-to-entities

我已经定义了一个“合同”类,从中我可以得出几种类型的合同。我正在使用Entity Framework进行存储,并选择了Table-per-type模型,以便最终得到类似Contract_Put,Contract_Call的表,用于不同的派生类。

现在我要列出所有合同并创建一个字段,其中包含标识合同类型的字符串。我试过这样的事情:

var ret = from c in db.Contracts select new ContractsVM { ... }
但是,我无法找到合同的类型......帮助?

1 个答案:

答案 0 :(得分:1)

var ret = from c 
              in db.Contracts.OfType<Contract_Put> 
              select new ContractsVM { strType="Put",... };
ret = ret.Concat(from c 
              in db.Contracts.OfType<Contract_Call> 
              select new ContractsVM { strType="Call",... });

变量ret包含所有这些值。希望它有所帮助!