我正在尝试执行这样的查询:
List<UserAssitanceView> AllAssitance = objFirstIdeaAssistanceRepository.GetAll().Select(i => new UserAssitanceView()
{
assitanceId = i.Assistance.Id.ToString(),
assitanceInternalTell = i.Assistance.AssistanceTell,
assitanceName = i.Assistance.AssistanceName,
experteName = objAssistanceRepository.ReturnExpertOfAssitance(i.AssistanceId).Name,
expertFamily = objAssistanceRepository.ReturnExpertOfAssitance(i.AssistanceId).Family,
ExperteMobile = objAssistanceRepository.ReturnExpertOfAssitance(i.AssistanceId).Mobile
}).ToList();
public class UserAssitanceView
{
public string assitanceId { set; get; }
public string assitanceName { set; get; }
public string experteName { set; get; }
public string expertFamily { set; get; }
public string assitanceInternalTell { set; get; }
public string ExperteMobile { set; get; }
}
FirstIdeaAssistance 类:
namespace DomainClass
{
using System;
using System.Collections.Generic;
public partial class FirstIdeaAssistance
{
public int Id { get; set; }
public string Date { get; set; }
public long FirstIdeaId { get; set; }
public int AssistanceId { get; set; }
public virtual FirstIdea FirstIdea { get; set; }
public virtual Assistance Assistance { get; set; }
}
}
在我的查询中,我调用了另一个存储库方法objAssistanceRepository.ReturnExpertOfAssitance
,函数如下:
public class AssistanceRepository : GenericRepository<InModelContainer, Assistance>
{
public User ReturnExpertOfAssitance(int assitanceId)
{
return
FindBy(i => i.Id == assitanceId && i.AssistanceJurors.Any(j => j.User.Permission == "Assistance"))
.First().AssistanceJurors.Select(i => i.User).First();
}
}
执行后我得到这个错误:
LINQ to Entities does not recognize the method 'DomainClass.User ReturnExpertOfAssitance(Int32)' method, and this method cannot be translated into a store expression.
当我从我的代码中删除这 3 行时,它工作正常:
experteName = objAssistanceRepository.ReturnExpertOfAssitance(i.AssistanceId).Name,
expertFamily = objAssistanceRepository.ReturnExpertOfAssitance(i.AssistanceId).Family,
ExperteMobile = objAssistanceRepository.ReturnExpertOfAssitance(i.AssistanceId).Mobile
我以前这样做过,效果很好,但现在我不知道为什么会出现这个错误。
每一个想法都会得到认可
此致