Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# linq与sql的关系_C#_Sql_Database_Linq - Fatal编程技术网

C# linq与sql的关系

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

我想返回一个带有一些关系的数据集,查询是可以的,但是我从另一个表中得到的是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 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我不知道如何解决这个问题,用一种简单的方法,你可以在另一个表中创建一个空行。