0

在 VS2010 中创建标准 Silverlight 业务应用程序并从 SQL Server 数据库设置模型后,我有各种实体和关联,其中 AssetGroup 和 Asset 处于 1:m 关系。

据称,我可以使用点表示法从资产实例中获取关联的 AssetGroup。通过延迟执行和延迟加载的现代奇迹,我确信,我的数据将在我需要它的那一刻交付。

但它不起作用。

需要什么咒语,我必须杀死一只鸡还是一只山羊?

看起来很有希望。等我试过了我会更新的。

4

1 回答 1

0

在问题中,我提到了一篇包含可能解决方案的博客文章。该解决方案有效,但需要更改生成的代码,这显然与解决方案一样脆弱。

这是应用解决方案的一种可靠方法:更改代码生成器。

  1. 在 EDMX 设计器界面上,右键单击上下文菜单并选择添加代码生成项...
  2. 尝试改进“Model1.tt”作为名称并保存 TT 文件。
  3. 打开 TT 文件。
  4. 搜索“return(”直接找到需要更改的方法模板。
  5. 如图所示编辑。
  6. 重建解决方案。

改变这个

return /* big hairy expression */;

对此

var entity = /* big hairy expression */;
if (!entity.IsLoaded) entity.Load();
return entity;
于 2010-02-01T23:06:50.393 回答