C# linq与sql的关系
我想返回一个带有一些关系的数据集,查询是可以的,但是我从另一个表中得到的是ID而不是实际值。。。这就是问题所在C# linq与sql的关系,c#,sql,database,linq,C#,Sql,Database,Linq,我想返回一个带有一些关系的数据集,查询是可以的,但是我从另一个表中得到的是ID而不是实际值。。。这就是问题所在 var thr= from u in dc.thresholds select u; 这将返回如下内容: id: 1 name: some name type_id: 1 owner_id: 1 var thr= from u in dc.thresholds join y in
var thr=
from u in dc.thresholds
select u;
这将返回如下内容:
id: 1
name: some name
type_id: 1
owner_id: 1
var thr=
from u in dc.thresholds
join y in dc.yourTable on u.type_id equal y.type_id
select new{u.id,u.name,typeName=y.name,....};
我想用这些表的值来获取type_id和owner_id,所以可以是:
id: 1
name: some name
type_id: Danger
owner_id: John Smith
我希望你们中的一些人能给我一些建议,我从LINQ到SQL开始,我有点迷路了
谢谢你如果你想显示type\u id的name值(type\u name在其他表中),你应该像这样使用join:
id: 1
name: some name
type_id: 1
owner_id: 1
var thr=
from u in dc.thresholds
join y in dc.yourTable on u.type_id equal y.type_id
select new{u.id,u.name,typeName=y.name,....};
根据需要使用导航属性加载数据。如果导航属性不存在(Threshold.Type和Threshold.Owner),请打开dbml并添加关联 惰性地使用导航属性将导致额外的查询
List<Threshold> result = dc.Thresholds.ToList(); //run first query
foreach(Threshold t in result)
{
Type type = t.Type; //run second query (per row)
Owner owner = t.Owner; //run third query (per row)
}
数据库中的
阈值
表和类型
表之间,以及阈值
和所有者
表之间是否存在关系,如果是这样的话,您将拥有两个表的一个对象和threshold
对象。我有一个问题,当列“type\u id”为空时,查询不会返回该行,因为不存在与Types.id的联接。。我如何解决这个问题?@user1381537我不知道如何解决这个问题,用一种简单的方法,你可以在另一个表中创建一个空行。