Visual Studio Lightswitch 2013 使用 sql server 数据源,我们有一个实体 A,与其他实体 B、C、... 有 n:1 关系;因此,实体 A 具有 B、C、... 类型的一些导航属性
使用 HTML 客户端,在对实体 A 发出查询后,属性 B、C、... 都未定义。这发生在以下情况:
在屏幕上添加了一个包含相关实体的数据项(在“编辑查询”中使用了“管理包含的数据”功能);在数据项对象上使用 load 方法以编程方式加载可视化集合数据(例如: screen.Customers.load(false).then(...) )
使用“expand”方法以编程方式使用数据服务(例如:myapp.activeDataWorkspace.SqlData.Customers.expand("Address").execute().then(...)
检查返回的数据,每个实体实例的“隐藏”属性“_”都正确加载了外键字段。
注意:用 Fiddler 检查请求的 url 会发现查询是正确的;检查 sql server 发出的查询(通过 Sql Server Profiler)显示该查询包含相关数据。发出 OData 查询表明所有数据都已返回。在客户端,当数据被反序列化时,导航实体似乎没有实现。
使用内部数据源尝试相同的方法(导航属性按预期加载)。
任何人都可以帮忙吗?
谢谢。