Asp.net 实体框架:不支持指定的方法

Asp.net 实体框架:不支持指定的方法,asp.net,mysql,.net,entity-framework,Asp.net,Mysql,.net,Entity Framework,代码: List Members=myEntity.users 其中(xXx=>xXx.Status==m_Status&&xXx.CompanyRef!=m_CompanyRef &&xXx.userconfigs.FirstOrDefault().IsPublicProfile==true) .Select(xXx=>newmemberclass{ Username=xXx.Username, 全名=xXx.Name+“”+xXx.姓氏, Name=xXx.Name, 姓氏=xXx。姓氏,

代码:

List Members=myEntity.users
其中(xXx=>xXx.Status==m_Status&&xXx.CompanyRef!=m_CompanyRef
&&xXx.userconfigs.FirstOrDefault().IsPublicProfile==true)
.Select(xXx=>newmemberclass{
Username=xXx.Username,
全名=xXx.Name+“”+xXx.姓氏,
Name=xXx.Name,
姓氏=xXx。姓氏,
AccessName=xXx.useraccess.Name,
RID=xXx.RID,
Email=xXx.Email}).ToList();
例外情况:

System.Data.EntityCommandCompilationException未由用户代码HResult=-2146232005处理。消息=准备命令定义时出错。有关详细信息,请参见内部异常。
Source=System.Data.Entity StackTrace:
位于System.Data.EntityClient.EntityCommandDefinition..ctor(DbProviderFactory storeProviderFactory,DbCommandTree commandTree)
位于System.Data.EntityClient.EntityProviderServices.CreateCommandDefinition(DbProviderFactory storeProviderFactory,DbCommandTree commandTree)
位于System.Data.EntityClient.EntityProviderServices.CreateDbCommandDefinition(DbProviderManifest providerManifest,DbCommandTree commandTree)
位于System.Data.Common.DbProviderServices.CreateCommandDefinition(DbCommandTree commandTree)
在System.Data.Objects.Internal.ObjectQueryExecutionPlan.Prepare(ObjectContext上下文、DbQueryCommandTree树、类型elementType、MergeOption MergeOption、跨度、只读集合1 compiledQueryParameters、别名生成器AliasGenerator)
位于System.Data.Objects.elink.elinkQueryState.GetExecutionPlan(Nullable1 forMergeOption)
位于System.Data.Objects.ObjectQuery1.GetResults(Nullable1 forMergeOption)
位于System.Data.Objects.ObjectQuery1.System.Collections.Generic.IEnumerable.GetEnumerator()处
位于System.Collections.Generic.List1..ctor(IEnumerable1集合)
at System.Linq.Enumerable.ToList[TSource](IEnumerable1源)
在c:\Users\Dreamcatcher\Documents\Visual Studio 2010\SVN Projects\OZTranV4\OZTranV4\App\U Code\Helper\MemberHelperDB.cs中的MemberHelper.MemberHelperDB.getExternalMemberList(十进制m_CompanyRef,十进制m_状态):第54行
在c:\Users\Dreamcatcher\Documents\Visual Studio 2010\SVN Projects\OZTranV4\OZTranV4\popup\AddMemberToWork2.aspx.cs中的popup\AddMemberToWork2.gridExternalUser\U NeedDataSource(对象发送方,GridNeedDataSourceEventArgs e)处:第157行
位于Telerik.Web.UI.RadGrid.OnNeedDataSource(GridNeedDataSourceEventArgs e)
在Telerik.Web.UI.RadGrid.GettainDataSource(GridRebindReason rebindReason,Boolean IsBoundUsingDataSourceId)
在Telerik.Web.UI.RadGrid.AutoDataBind(gridrebindreson-rebindreson)
在Telerik.Web.UI.RadGrid.OnLoad(EventArgs e)
在System.Web.UI.Control.LoadRecursive()中
在System.Web.UI.Control.LoadRecursive()中
在System.Web.UI.Control.LoadRecursive()中
在System.Web.UI.Control.LoadRecursive()中
在System.Web.UI.Control.LoadRecursive()中
在System.Web.UI.Control.LoadRecursive()中
在System.Web.UI.Control.LoadRecursive()中
在System.Web.UI.Control.LoadRecursive()中
在System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)
InnerException:System.NotSupportedException HResult=-2146233067 Message=不支持指定的方法。Source=MySql.Data.Entity StackTrace:
在MySql.Data.Entity.SqlGenerator.Visit(DbApplyExpression)
位于System.Data.Common.CommandTrees.DbApplyExpression.Accept[TResultType](DbExpressionVisitor1访问者)
位于MySql.Data.Entity.SqlGenerator.VisitInputExpression(dbe表达式,字符串名称,TypeUsage类型)
在MySql.Data.Entity.SelectGenerator.HandleJoinExpression(DbExpressionBinding left、DbExpressionBinding right、DbExpressionKind joinType、DbExpression joinCondition)
在MySql.Data.Entity.SelectGenerator.Visit(DbJoinExpression)
位于System.Data.Common.CommandTrees.DbJoinExpression.Accept[TResultType](DbExpressionVisitor1访问者)
位于MySql.Data.Entity.SqlGenerator.VisitInputExpression(dbe表达式,字符串名称,TypeUsage类型)
在MySql.Data.Entity.SelectGenerator.VisitInputExpressionEnsureSelect(DBE表达式,字符串名称,类型用法类型)
在MySql.Data.Entity.SelectGenerator.Visit(DbFilterExpression表达式)
在System.Data.Common.CommandTrees.DbFilterExpression.Accept[TResultType](DbExpressionVisitor1访问者)中
位于MySql.Data.Entity.SqlGenerator.VisitInputExpression(dbe表达式,字符串名称,TypeUsage类型)
在MySql.Data.Entity.SelectGenerator.VisitInputExpressionEnsureSelect(DBE表达式,字符串名称,类型用法类型)
在MySql.Data.Entity.SelectGenerator.Visit(DbProjectExpression)中
在System.Data.Common.CommandTrees.DbProjectExpression.Accept[TResultType](DbExpressionVisitor1访问者)处
在MySql.Data.Entity.SelectGenerator.GenerateSQL(DbCommandTree树)中
位于MySql.Data.MySqlClient.MySqlProviderServices.CreateDbCommandDefinition(DbProviderManifest providerManifest,DbCommandTree commandTree)
位于System.Data.Common.DbProviderServices.CreateCommandDefinition(DbCommandTree commandTree)
位于System.Data.EntityClient.EntityCommandDefinition..ctor(DbProviderFactory storeProviderFactory,DbCommandTree commandTree)
这段代码在格式化我的计算机之前是有效的。我使用MySQL 5.5.12,MySQL.NET连接器版本6.5.4。只有Netframework版本可能会更改,我已完成所有windows更新,安装Visual Studio 2012时,会自动安装.Net 4.5

如何修复此问题?

而不是使用

xXx.userconfigs.FirstOrDefault().IsPublicProfile == true;
像下面的trylike-

xXx.userconfigs.Select(s=>s.IsPublicProfile).FirstOrDefault()==true;
List<MemberClass> Members = myEntity.users
   .Where(xXx => xXx.Status == m_Status && xXx.CompanyRef != m_CompanyRef 
   && xXx.userconfigs.Select(s=>s.IsPublicProfile).FirstOrDefault()==true)
   .Select(xXx => new MemberClass { 
      Username = xXx.Username, 
      FullName = xXx.Name + " " + xXx.Surname, 
      Name = xXx.Name, 
      Surname = xXx.Surname, 
      AccessName = xXx.useraccess.Name, 
      RID = xXx.RID, 
      Email = xXx.Email }).ToList();
那么您的整个代码如下所示-

xXx.userconfigs.Select(s=>s.IsPublicProfile).FirstOrDefault()==true;
List<MemberClass> Members = myEntity.users
   .Where(xXx => xXx.Status == m_Status && xXx.CompanyRef != m_CompanyRef 
   && xXx.userconfigs.Select(s=>s.IsPublicProfile).FirstOrDefault()==true)
   .Select(xXx => new MemberClass { 
      Username = xXx.Username, 
      FullName = xXx.Name + " " + xXx.Surname, 
      Name = xXx.Name, 
      Surname = xXx.Surname, 
      AccessName = xXx.useraccess.Name, 
      RID = xXx.RID, 
      Email = xXx.Email }).ToList();
List Members=myEntity.users
其中(xXx=>xXx.Status==m_Status&&xXx.CompanyRef!=m_CompanyRef
&&xXx.userconfigs.Select(s=>s.IsPublicProfile).FirstOrDefault()==true)
.Select(xXx=>newmemberclass{
Username=xXx.Username,
全名=xXx.Name+“”+xXx.姓氏,
Name=xXx.Name,
姓氏=xXx。姓氏,
AccessName=xXx.useraccess.Name,
RID=xXx.RID,
Email=xXx.Email}).ToList();

可能的重复:是的,问题看起来很相似