7

我将我的实体框架 4.3 数据库第一个项目升级到新的实体框架 5。 显然我现在使用的是 DbContext 而不是 ObjectContext。

我已将旧的 .edmx 文件替换为新文件。我以前使用我的 4.3 .edmx 文件的旧业务代码现在使用以下LoadProperty方法的代码存在问题:

using (var context = new MyEntities())
{
    Models.User user = context.Users.First(x => x.GUID == guid);
    context.LoadProperty(user, o => o.Settings);
    return user;
}

似乎 LoadProperty 不是 DbContext 中的可用方法。

无论如何,我怎样才能获得强类型加载?

我想我可以使用

context.Users.Include("Settings")

但这不是强类型并且容易出现拼写错误。

4

1 回答 1

15

您也可以将 Include 方法与 Lambda 一起使用。不要忘记 using 语句,因为这个 Include 来自 DbExtension 类:

using System.Data.Entity;

...

context.Users.Include(u => u.Settings);

以下是有关 Include 扩展方法的一些信息:msdn info

于 2012-10-07T20:04:05.197 回答