作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为 Entities
的实体集其中有一个字段 Name
和一个字段Version
。我希望返回所选 Name
具有最高版本的对象.
就 SQL 而言,我会去
Select *
from table
where name = 'name' and version = (select max(version)
from table
where name = 'name')
或者类似的东西。不知道如何使用 EF 来实现这一点。我正在尝试使用 CreateQuery<>
如果有帮助的话,请提供查询的文本表示。
谢谢
编辑:这是使用两个查询的工作版本。不是我想要的,看起来效率很低。
var container = new TheModelContainer();
var query = container.CreateQuery<SimpleEntity>(
"SELECT VALUE i FROM SimpleEntities AS i WHERE i.Name = 'Test' ORDER BY i.Version desc");
var entity = query.Execute(MergeOption.OverwriteChanges).FirstOrDefault();
query =
container.CreateQuery<SimpleEntity>(
"SELECT VALUE i FROM SimpleEntities AS i WHERE i.Name = 'Test' AND i.Version =" + entity.Version);
var entity2 = query.Execute(MergeOption.OverwriteChanges);
Console.WriteLine(entity2.GetType().ToString());
最佳答案
你能尝试这样的事情吗?
using(var container = new TheModelContainer())
{
string maxEntityName = container.Entities.Max(e => e.Name);
Entity maxEntity = container.Entities
.Where(e => e.Name == maxEntityName)
.FirstOrDefault();
}
这将首先从 Entities
集中选择 Name
的最大值,然后从与该名称匹配的实体集中获取实体。
关于entity-framework - Entity Framework - 从实体中选择 *,其中 Id =(从实体中选择 max(Id)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8385748/
我是一名优秀的程序员,十分优秀!