Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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
Linq to sql LINQ到SQL-关闭ObjectTrackinEnabled时关联丢失_Linq To Sql_Sql Server 2000 - Fatal编程技术网

Linq to sql LINQ到SQL-关闭ObjectTrackinEnabled时关联丢失

Linq to sql LINQ到SQL-关闭ObjectTrackinEnabled时关联丢失,linq-to-sql,sql-server-2000,Linq To Sql,Sql Server 2000,我正在使用LINQtoSQL(C#3.5)从我的数据库(SQLServer2000)中读取两个表house和county。House有一个CountyID列,该列与county表中的ID列相匹配。County表有ID和CountyName列。数据库中没有关联-我在dbml文件中添加了它。(父类=县,子类=房屋) 现在,我可以查询House表并获得House.county.CountyName的县名称-这正是我想要的 除非我将EnableObjectTracking设置为false,否则这非常有效

我正在使用LINQtoSQL(C#3.5)从我的数据库(SQLServer2000)中读取两个表house和county。House有一个CountyID列,该列与county表中的ID列相匹配。County表有ID和CountyName列。数据库中没有关联-我在dbml文件中添加了它。(父类=县,子类=房屋)

现在,我可以查询House表并获得House.county.CountyName的县名称-这正是我想要的

除非我将EnableObjectTracking设置为false,否则这非常有效。我的性能提高了约3倍,但房屋中的County子对象为空


有办法解决这个问题吗?

当您将EnableObjectTracking设置为false时,正如您所注意到的,您还可以关闭延迟加载子实体。MSDN说

延迟加载需要对象 追踪。只有以下三个 模式有效:

ObjectTrackingEnabled=false。 DelferredLoadingEnabled被忽略,并且 推断为错误的。这种行为 对应于只读 数据上下文

ObjectTrackingEnabled=true。 DelferredLoadingEnabled=false。这 情境对应于数据上下文 它允许用户加载对象 通过使用LoadWith指令绘制图形, 但它不能启用延迟 装载

两者都设置为true。这是 默认

如果要禁用对象跟踪,可以使用
LoadWith
方法填充子实体。请参阅MSDN以了解有关