【发布时间】:2015-04-24 22:42:45
【问题描述】:
很难解释,但目前我有一个 SQL 数据库,其中有一个名为 股票。有些表引用了 Stock 表,例如 Rating,其中同一股票可能有多个结果。
现在,当我使用 EF 从我的数据库中查询特定股票时,我会收到我的主要对象以及 Ratings 列表。
我的库存表:
- 身份证
- 姓名
我的股票评级表:
- 身份证
- 库存编号
- 结果
- 时间戳
如何只选择 Rating-table 的最新条目,所以我只有一个对象,而不是附加到我的 Stock 对象的整个条目列表?
【问题讨论】:
-
FirstOrDefault和OrderBy的组合日期列?如果不提供您的实体和表格,就很难为您提供准确的答案。 -
“StockRating”表的每条记录都有一个时间戳。但是我根本不习惯实体框架的语法。它必须是这样的:(From s In db.Stocks Select s, x.StockRating.OrderByDescending(Function(t) t.Timestamp).FirstOrDefault).ToList 但这使得输出列表成为匿名对象列表:/跨度>
-
嗯,它不是专门的 EF,只是 Linq。不确定是否从一对多关系返回单个实体。可以放置一个
NotMapped属性,该属性从 Stock 实体的 Ratings 集合中获取最新条目。主要问题是,如果您有很多您不想加载的评分。
标签: c# vb.net entity-framework