相关疑难解决方法(0)

EF CTP5 - 强类型的预先加载 - 如何包含嵌套的导航属性?

试图将我们的EF4解决方案转换为EF CTP5,并遇到了问题.

这是模型的相关部分:

在此输入图像描述

相关关系: - 一个许多城市 - 一个城市只有一个

现在,我想执行以下查询: - 获取系统中的所有县,并包括所有城市,以及这些城市的所有州.

在EF4中,我会这样做:

var query = ctx.Counties.Include("Cities.State");
Run Code Online (Sandbox Code Playgroud)

在EF CTP5中,我们有一个强类型的包含,它需要一个Expression<Func<TModel,TProperty>>.

我可以让县的所有城市都没有问题:

var query = ctx.Counties.Include(x => x.Cities);
Run Code Online (Sandbox Code Playgroud)

但我如何才能获得这些城市的

我使用纯POCO,所以County.CitiesICollection<City>,所以我不能这样做:

var query = ctx.Counties.Include(x => x.Cities.State)
Run Code Online (Sandbox Code Playgroud)

因为ICollection<City>没有一个叫做的属性State.

这几乎就像我需要使用嵌套的IQueryable.

有任何想法吗?我是否需要回退到这个场景中包含的魔术字符串?

entity-framework poco eager-loading entity-framework-ctp5

29
推荐指数
1
解决办法
8474
查看次数

CodeFirst中的多级包含 - EntityFrameWork

这是工作代码;

IQueryable<Product> productQuery = ctx.Set<Product>().Where(p => p.Id == id).(Include"Contexts.AdditionalProperties.Field");
Run Code Online (Sandbox Code Playgroud)

但是你知道如果我们在"Contexts.AdditionalProperties.Field"中的字符串语句中出错,它就不会产生编译时错误

我想写下面的代码;

IQueryable<Product> productQuery = ctx.Set<Product>().Where(p => p.Id == id).Include(p => p.Contexts);
Run Code Online (Sandbox Code Playgroud)

但上面的声明无法给出定义AdditionalProperties和Field的机会.

我们应该做什么?

我想编写多个包含用于构建查询的包含.

谢谢.

entity-framework entity-framework-ctp5

25
推荐指数
1
解决办法
1万
查看次数

Linq-To-Entities包括

我目前正在学习更多关于Linq-To-Entities的内容 - 特别是关于渴望和懒惰加载的那一刻.

proxy.User.Include("Role").First(u => u.UserId == userId)
Run Code Online (Sandbox Code Playgroud)

这应该加载用户以及用户拥有的任何角色.我有一个问题,但我也有一个问题.这只是为了解L2E而创建的一个简单模型

我的印象是,这是为了让事情变得强烈 - 所以我为什么要写"角色"?看来,如果我更改了表的名称,那么这不会产生编译错误......

我的错误是这样的:

The specified type member 'Roles' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
Run Code Online (Sandbox Code Playgroud)

下面的解决方案允许我现在编写代码:

proxy.User.Include(u => u.Role).First(u => u.UserId == userId)
Run Code Online (Sandbox Code Playgroud)

哪个好多了!

linq-to-entities entity-framework lazy-loading eager-loading

3
推荐指数
1
解决办法
2251
查看次数