0

我定义了一个类“Contract”,从中派生出几种类型的合同。我使用 Entity Framework 进行存储,并选择了 Table-per-type 模型,这样我最终得到了不同派生类的 Contract_Put、Contract_Call 等表。

现在我想列出所有合同并创建一个带有标识合同类型的字符串的字段。我试过这样的事情:

var ret = from c in db.Contracts select new ContractsVM { ... }

但是,我无法找出合同的类型...帮助?

4

1 回答 1

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包含所有这些值。希望能帮助到你!

于 2013-07-23T20:21:29.567 回答