0

我最近在这里得到了一些帮助,并设置了一个名为 RegisterViewModel 的视图模型,其中包含来自(当前)两个不同模型的字段。这很有效,我可以用它来注册一个新用户以及相关的用户信息。我的问题是从同一个视图模型中查看详细信息。在我的“详细信息”方法的 Usee 控制器中,我有相同的代码 -

public ViewResult Details(RegisterViewModel viewModel)
        {
            TRSContext context = new TRSContext();
            User currentuser = context.Users
                .Include(i => i.UserDetails)
                .Where(i => i.UserName == viewModel.UserName)
                .Single();

            currentuser.UserDetails = new UserDetails();

            return View(userRepository.Find(viewModel.UserName));
        } 

但我得到了错误 -

无法将 lambda 表达式转换为类型“字符串”,因为它不是委托类型

对于线路 -

(i => i.UserDetails)

任何想法这有什么问题?

4

2 回答 2

1

应该是.Include("UserDetails")

于 2012-10-09T08:14:41.163 回答
1

的 lambda 版本Include是在EF CTP4中引入的,除非您需要使用字符串,即

.Include("UserDetails")
于 2012-10-09T08:16:29.057 回答