我发现了一个问题,但它引用了VS 2010的BETA版本。我有兴趣知道RTM中是否修复了此问题?
基本上它陈述(通过EF 4 Self Tracking Entities does not work as expected看到它)
确保重复使用 自我跟踪实体模板 在您的客户端上生成实体代码。 如果您使用Add生成的代理代码 Visual Studio或Visual Studio中的服务引用 一些其他工具,事情看起来正确 大部分,但你会发现 实体实际上并没有保留 跟踪他们在客户端的变化。
我非常习惯使用添加服务参考,过去它总是对我有用,但当然我没有使用STE(自我跟踪实体)。这个问题在VS 2010 RTM和STE模板中是否仍然存在?
如果我通过代码创建代理而不是添加服务,那么它们将不会创建所有类吗?
任何帮助或见解真的很感激
答案 0 :(得分:1)
这不是问题,也不是问题。这绝对是预期和正确的行为。 STE是包含数据和逻辑的类(逻辑跟踪变化)。
添加服务引用时,您的客户端代理代码是从服务的元数据生成的。元数据以WSDL格式公开。 WSDL是基于XML的服务描述,它还包含传输数据类型的XSD描述。 XSD只能描述数据格式,但不能描述该类型实现的相关逻辑。默认情况下,WSDL中描述的所有未知数据类型都在客户端上生成。因此,当您通过添加服务引用生成具有所有数据类型的客户端代理时,跟踪逻辑将丢失。
要解决此问题,您必须做两件事: