我有这种奇怪的行为。 林加载在一个List <一些实体>和附加到一个网格。 当双击网格我把投行对实体和附加到一个属性。
我在我的数据库和代码改变了一些东西,现在我得到这个例外,而我从来没有想查这个实体引用的东西。
有任何想法吗?
我有这种奇怪的行为。 林加载在一个List <一些实体>和附加到一个网格。 当双击网格我把投行对实体和附加到一个属性。
我在我的数据库和代码改变了一些东西,现在我得到这个例外,而我从来没有想查这个实体引用的东西。
有任何想法吗?
这似乎发生在我身上时,我尝试访问一个属性,它不是实体源自对数据库表中的一列。
比如,也许你的数据库有一个表Vehicle
的列Id
, Year
, Make
, Model
和EngineId
。 该LinqToSql实体将为每个列的属性,但它也增加了一个叫做物业Engine
,其持有的Engine
实体。
如果您将您的Vehicle
数据的List<Vehicle>
然后尝试访问的某些属性Engine
,你会得到一个ObjectDisposedException
,除非你DataContext
仍然有效。
所以,如果你需要,比方说, Vehicle.Engine.CylinderCount
你与你做了之后DataContext
,你需要建立一个平展的数据的自定义对象,这样你只需要一个“点”,以获取数据你需要。
你可以写一个ViewModel
类很容易做到这一点。 例如:
public class VehicleViewModel
{
public int Id { get; set; }
public int Year { get; set; }
public string Make { get; set; }
public string Model { get; set; }
public int EngineId { get; set; }
public int CylinderCount { get; set; }
}
现在,如果你写你的LinqToSql查询来填充一个List<VehicleViewModel>
而不是一个List<Vehicle>
,你应该停止得到一个ObjectDisposedException
当您尝试访问CylinderCount
。