C# 如何将Model.Tag(具有Id和名称)转换为";名单;名称 公共列表标记名列表(int objectId) { List tagNameList=db.Tags.Where(ob=>ob.Id==objectId.ToList(); } 其中(ob=>ob.Id==objectId.ToList();
我将进入C# 如何将Model.Tag(具有Id和名称)转换为";名单;名称 公共列表标记名列表(int objectId) { List tagNameList=db.Tags.Where(ob=>ob.Id==objectId.ToList(); } 其中(ob=>ob.Id==objectId.ToList();,c#,asp.net,asp.net-mvc,linq,C#,Asp.net,Asp.net Mvc,Linq,我将进入Tags中的db上下文,通过导航属性选择所有设置了objectId的标签,我通过ObjectTags表设置了导航属性,该表在两列中存储了关系,这两列都构成了一个组合键 该示例返回一个IQueryable。是否有任何快速的方法可以将其转换为仅使用标记的列表?是的,您只需使用选择应用投影即可: public List<string> TagNameList (int objectId) { List<string> tagNameList = db.Tags.
Tags
中的db
上下文,通过导航属性选择所有设置了objectId
的标签,我通过ObjectTags
表设置了导航属性,该表在两列中存储了关系,这两列都构成了一个组合键
该示例返回一个
IQueryable
。是否有任何快速的方法可以将其转换为仅使用标记的列表
?是的,您只需使用选择应用投影即可:
public List<string> TagNameList (int objectId)
{
List<string> tagNameList = db.Tags.Where(ob => ob.Id == objectId).ToList();
}
db.Tags.Where(ob => ob.Id == objectId).ToList();
是的,您只需要使用选择应用投影:
public List<string> TagNameList (int objectId)
{
List<string> tagNameList = db.Tags.Where(ob => ob.Id == objectId).ToList();
}
db.Tags.Where(ob => ob.Id == objectId).ToList();
多亏了一位好朋友才找到了解决方案
public List<string> TagNameList (int objectId)
{
return db.Tags.Where(ob => ob.Id == objectId)
.SelectMany(ob => ob.Tags)
.Select(tag => tag.Name)
.ToList();
}
First()对于将其“缩小”到一个对象,然后导航到另一个表是必不可少的
这太酷了。您可以导航到几十个这样的表。我想知道你是否可以用这种方式编写最长的代码行:多亏了一位好朋友,D找到了解决方案
public List<string> TagNameList (int objectId)
{
return db.Tags.Where(ob => ob.Id == objectId)
.SelectMany(ob => ob.Tags)
.Select(tag => tag.Name)
.ToList();
}
First()对于将其“缩小”到一个对象,然后导航到另一个表是必不可少的
这太酷了。您可以导航到几十个这样的表。我想知道你是否可以这样写最长的代码行:D不要那么快…:)我有一个包含多个objectid和多个tagid的关系表。我无法直接访问relationships表,因为它没有出现在ADO.net中。我只能通过对象表访问它。类似这样的db.Objects.Where(ob=>ob.Id==objectId)。选择(t=>t.Tags)我将进入Objects表并缩小范围,然后在Tags表中选择stuff。现在我有一堆实体集合。如何将它们转换为列表或传递给视图的模型中可用的内容?编辑了更多信息:我有一个包含多个objectid和多个tagid的关系表。我无法直接访问relationships表,因为它没有出现在ADO.net中。我只能通过对象表访问它。类似这样的db.Objects.Where(ob=>ob.Id==objectId)。选择(t=>t.Tags)我将进入Objects表并缩小范围,然后在Tags表中选择stuff。现在我有一大堆……我可以不那么快……:)我有一个包含多个objectid和多个tagid的关系表。我无法直接访问relationships表,因为它没有出现在ADO.net中。我只能通过对象表访问它。类似这样的db.Objects.Where(ob=>ob.Id==objectId)。选择(t=>t.Tags)我将进入Objects表并缩小范围,然后在Tags表中选择stuff。现在我有一堆实体集合。如何将它们转换为列表或传递给视图的模型中可用的内容?编辑了更多信息:我有一个包含多个objectid和多个tagid的关系表。我无法直接访问relationships表,因为它没有出现在ADO.net中。我只能通过对象表访问它。类似这样的db.Objects.Where(ob=>ob.Id==objectId)。选择(t=>t.Tags)我将进入Objects表并缩小范围,然后在Tags表中选择stuff。现在我有一堆…我可以