【问题标题】:Listing all types列出所有类型
【发布时间】:2013-07-23 08:23:54
【问题描述】:

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

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

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

但是,我无法确定合同的类型...帮助?

【问题讨论】:

  • 我很困惑,你说合约类型,你想显示一个字段,其中包含一个标识什么类型的字符串......但是你说你无法弄清楚什么类型的订单。你能澄清一下吗?
  • @doreye01,很抱歉。我已经对其进行了编辑,因此有意义

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


【解决方案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-05-29
  • 1970-01-01
  • 2023-01-18
  • 1970-01-01
  • 2015-08-27
  • 1970-01-01
  • 1970-01-01
  • 2014-04-19
  • 1970-01-01
相关资源
最近更新 更多