我有这种奇怪的行为。 Im在List <>中加载一些实体,并附加到网格。 当双击网格时,我将行强制转换为实体并附加到属性。

我已经更改了数据库和代码中的某些内容,现在却收到了此异常,而我从不想检查此实体引用中的某些内容。

有任何想法吗?

#1楼 票数:1

当我尝试访问一个属性而不是实体所源自的数据库表中的列之一时,这似乎发生在我身上。

例如,也许您的数据库中有一个表Vehicle ,列IdYearMakeModelEngineId LinqToSql实体的每一列都有一个属性,但是它还添加了一个名为Engine的属性,该属性包含一个Engine实体。

如果将Vehicle数据转换为List<Vehicle>然后尝试访问Engine上的某些属性,除非DataContext仍处于活动状态,否则将获得ObjectDisposedException

因此,如果在使用DataContext之后需要说Vehicle.Engine.CylinderCount ,则需要构建一个自定义对象,该对象可以展平数据,因此只需要一个“点”就可以获取数据需要。

您可以编写一个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> ,则在尝试访问CylinderCount时应该停止获取ObjectDisposedException

  ask by George Taskos translate from so

未解决问题?本站智能推荐:

2回复

在Linq-to-Sql实体中加密字段的值

我需要加密Linq2Sql实体上的一些字段。 我还希望加密和解密过程对实体的使用者是透明的,这意味着一旦将实体加载到内存中,该字段就会呈现为常规值字符串(解密),但是当持久化时,相同的字段会被加密数据库。
3回复

将linq-to-sql的结果转换为

使用接口,我们通常有一个var或IQueryable,它将返回一组数据对象,然后我们将这些对象强制转换为接口并返回List或IList,如下所示: 注意:items.Cast()。ToList()将编译,但会在运行时抛出InvalidCastException。 有没有更好的办法? (
3回复

Linq-to-SQL设计问题!

如果需要从dbml文件创建POCO对象,该怎么办? 你用的是发电机吗? 你手动编写POCO吗? 假设你想让你的对象持久无知并与客户共享,然后为客户端 - DAO - L2S对象之间的通信创建DAO模式,这是使用Linq 2 SQL进行断开连接设计的问题。 假设使用客户端的POCO应该是原
1回复

通过字符串值查找linq实体

如何接收字符串值(例如“ User”)并找到具有该名称的实体,并将该实体用作类型? 谢谢!! 编辑 :“用户”是dbml中实体的名称,而不是属性
1回复

LINQ2SQL查询ObjectDisposed异常

我今天吃的这个很奇怪。 我在组装方法中有此查询。 假设我已经调用了SQL命令执行的ToArray()并给了我所需的对象,并且将它们给了一个新的Order []数组,这应该不需要DataContext实例。 当我从方法返回值中对Order []进行序列化时,序列化程序尝试再次访问Data
5回复

Linq到SQL类的生命周期

据我所知,当我新建一个Linq to SQL类时 ,它相当于新建一个SqlConnection对象 。 假设我有一个带有两个方法的对象: Delete()和SubmitChanges() 。 在每个方法中新建Linq to SQL类是否明智,或者是一个保存Linq to SQL类的私有变量
1回复

尽管检查了空参数,Linq-to-SQL仍然抛出NullReferenceException

我正在尝试在LinqPad中编写Linq-To-SQL查询,以帮助将用户从旧表迁移到新表。 这种迁移的一部分是将所有地址存储在单独的表中。 我正在使用以下查询来确定新表中是否存在用户地址(因此我没有重复的条目): 在此,“ u”代表旧用户。 旧表中的某些地址包含Street_addre
5回复

如何在linq-to-sql中返回一个匿名类型

我有以下伪代码,但想法是返回一个泛型类 我在这里阅读 - 如何从使用LINQ to SQL的c#方法返回匿名类型 ,本案例的最佳解决方案是为返回类型创建一个类。 但我的问题是,如果我有数百个这样的函数,这是否意味着我需要有数百个类? 我希望有一个更通用的解决方案,谢谢你的帮助!!