我使用了自我跟踪实体,我执行以下操作:
1.- 我创建了一个新实体
2.- 我修改了它的一个属性,例如 entityName="Dummy"
修改后,实体的状态仍然没有改变,所以当我执行 applychanges 时,它会做任何事情。
我尝试将其状态设置为已修改,然后将更改保存在数据库中。但是这样一来,我就有问题了,因为如果我没记错的话,STE实现了INotifyPropertyChanged接口,所以当我修改一个属性时,就是notify,这是我想要的一个特性。
我错了?也许当我改变一个实体的属性时它不会改变它的状态。
谢谢。戴姆洛克。
编辑:当我使用 WCF 服务获取实体时,也会出现此问题,该服务使用 EF 4.0 将查询结果发送到数据库。
EDIT2:我发现了我的错误。
问题是我有一个 dll 项目,其中有 tt 文件和自我跟踪实体。
我有一个引用该项目的 WCF 服务。此服务使用使用 EF 访问数据库的存储库。
我有一个托管 WCF 服务的自托管应用程序。此应用程序没有对 STE 的 dll 的引用。
我使用 svcutil 创建 service.cs。
我有客户端,我在其中添加了 service.cs。service.cs 如何使用 STE 拥有我的 dll 项目的类。但是有一个问题,这个类没有所有这些类。我的意思是,例如具有 ChangeTracker 属性,但它们没有 MarkAs 方法和其他方法。
因此,如果我编辑 service.cs 以更改声明我的类的命名空间并使用 STE 类添加对项目的引用,我可以访问所有方法并且也可以按预期工作。
所以问题出在我服务的“STE 类”中,而不是在我的 dll 项目的 STE 类中。
为什么当我生成 service.cs 时不生成“完整类”?这使我使用 STE 添加对我的 dll 项目的引用并编辑 service.cs 以删除其 STE 类的代码,这些代码无法按我的预期工作。有没有办法在 service.cs 文件中添加“好的 STE 类”?
谢谢。戴姆洛克。
问题是我在 WPF 应用程序中托管了一个 WCF 服务。我运行自托管应用程序并使用 svcutil 创建 Service.cs。
我在我的客户端应用程序中添加了这个 Service.cs。在这个 Service.cs 中存在我的